Summer 2020 Code Audit (Next)
Created by: dbluhm
This is an accounting of code currently present in the Next branch. I've enumerated below each of the bundles at the root of the repository along with a short description, notes on what it supersedes or is superseded by, and any other relevant bits I find. In many cases my assessment is likely to be incomplete; please add any clarifications you might have in comments. I may also tag authors for comments on specific bundles when it is clear that they were the most recent person to touch that particular bundle.
Summer 2020 Code Audit (Next)
Bundles
Removed Bundles
The following bundles have been removed as a result of this audit.
Bundle | Notes (from Jay) |
---|---|
org.eclipse.ice.aggregator |
outdated, superseded by new build |
org.eclipse.ice.classifier |
not needed |
org.eclipse.ice.persistence.xml (although this has some of my favorite code in it...) |
superseded by persistence annotations |
org.eclipse.ice.tests.persistence.xml |
same |
schema |
not needed |
org.eclipse.ice.item |
superseded by tasks, I will look in the 2.2 release branch if I need to pull requirements |
org.eclipse.ice.tests.item |
same |
org.eclipse.ice.datastructures |
mostly replaced already by dev and data, I will look in a branch if I need to pull requirements |
org.eclipse.ice.tests.datastructures |
|
org.eclipse.ice.tests.core.jaxrs |
outdated, I'll pull it from a branch if I need it |
org.eclipse.ice.target.oxygen |
outdated |
org.eclipse.ice.service |
outdated, I'll pull it from a branch |
org.eclipse.ice.projectgeneration |
outdated and superseded mostly by archetypes. We should add project generation capability to org.eclipse.ice.dev.ide (renamed from org.eclipse.ice.developer, see below), but we can pull that code from a release branch as needed. |
org.eclipse.ice.parent |
outdated as written |
org.eclipse.ice.modeling |
I think we can delete this since it was a dummy project. It will still be in the Git history if we or John need it. |
org.eclipse.ice.core |
Needed, but I can pull from a branch when the time is write and favor more of a rewrite approach. I just need the reference. |
org.eclipse.ice.tests.core |
Same |
Recent Activity Summary
Bundle | Recently modified? |
---|---|
org.eclipse.ice.aggregator |
|
org.eclipse.ice.archetypes |
|
org.eclipse.ice.build |
|
org.eclipse.ice.classifier |
|
org.eclipse.ice.commands.swt |
|
org.eclipse.ice.commands |
|
org.eclipse.ice.core.test |
|
org.eclipse.ice.core |
|
org.eclipse.ice.data |
|
org.eclipse.ice.datastructures |
|
org.eclipse.ice.demo |
|
org.eclipse.ice.dev |
|
org.eclipse.ice.developer |
|
org.eclipse.ice.filesimulation |
|
org.eclipse.ice.io |
|
org.eclipse.ice.item |
|
org.eclipse.ice.modeling |
|
org.eclipse.ice.parent |
|
org.eclipse.ice.persistence.xml |
|
org.eclipse.ice.projectgeneration |
|
org.eclipse.ice.renderer |
|
org.eclipse.ice.servicetester |
|
org.eclipse.ice.target.oxygen |
|
org.eclipse.ice.tasks |
|
org.eclipse.ice.tests.core.jaxrs |
|
org.eclipse.ice.tests.core |
|
org.eclipse.ice.tests.datastructures |
|
org.eclipse.ice.tests.integration |
|
org.eclipse.ice.tests.io |
|
org.eclipse.ice.tests.item |
|
org.eclipse.ice.tests.persistence.xml |
|
org.eclipse.ice.tests |
|
org.eclipse.ice.workflow |
|
rse-render-client-test |
Analysis
org.eclipse.ice.archetypes
Maven project generators.
Recent activity: This is a new addition in active use.
Supersedes: org.eclipse.ice.projectgeneration
?
org.eclipse.ice.aggregator
No Java source code, appears to be just a multi-module Maven project for builds, maybe documentation?
Recent activity: 3+ Years since any activity.
Superseded by: org.eclipse.ice.build
?
org.eclipse.ice.build
Multi-module maven project for building Eclipse ICE.
Recent activity: This is a new addition in active use.
Supersedes: org.eclipse.ice.parent
, org.eclipse.ice.aggregator
(?)
org.eclipse.ice.classifier
Contains only a build.properties
file. Commit message: "Adding some boilerplate for the ParserGenerator plugins."
Purpose is unclear to me.
Recent activity: No activity in 5+ years.
Superseded by: ?
org.eclipse.ice.commands.swt
Extension for commands enabling password authentication through Java's standard widget toolkit (SWT). Recent activity: This is a new addition in active use. Supersedes: ?
org.eclipse.ice.commands
API for setting up and running jobs on a remote host or locally. Includes file transfer.
Recent activity: This is a new addition in active use.
Supersedes: org.eclipse.ice.filesimulation
(sort of), others?
org.eclipse.ice.core.test
Contains only defaultUser/default/.project
. Purpose is unclear to me.
Recent activity: No activity in ~4 years.
Superseded by: ?
org.eclipse.ice.core
"The Core class is responsible for implementing and/or managing all of the data and workflow management capabilities of ICE." Overhaul to use new task infrastructure is due for this bundle according to @jayjaybillings. May just be that interfaces only survive. Recent activity: Some activity ~3 years ago. Superseded by: ?
org.eclipse.ice.data
Some core interfaces and helpers for managing data? IDataElement
, IPersistenceHandler
, and JavascriptValidator
recently moved to this bundle but remaining elements are older, potentially obsolete?
Recent activity: Recent activity on the above mentioned Interfaces, others haven't seen activity in ~2 years.
Supersedes: ?
Superseded by: ?
org.eclipse.ice.datastructures
Core data structures for ICE 2.0, including Form. I believe @jayjaybillings mentioned that the majority of this will be
replaced and has already partially been replaced by DataElements
.
Recent activity: Minor recent changes, no significant work in 3-5 years.
Superseded by: DataElement
at least partially, WebForm
(?)
org.eclipse.ice.demo
Demonstrations of ICE functionality. Seems to include demos for fern(?), launcher, model, visualization and commands.
From Joe:
org.eclipse.ice.demo
is indeed intended to be demo examples of how to use various APIs. I added some examples for Commands, but none of the others are in use as far as I know (and I think they don't build anyway by default).
Recent activity: @osbornjd recently added commands demo but other demos are 4-5 years old. Superseded by: Old demos are likely to just be replaced in place?
org.eclipse.ice.dev
Main bundle for a lot of our recent development on code generation through annotation processors and other utilities.
Recent activity: In active use.
Supersedes: org.eclipse.ice.datastructures
(?), org.eclipse.ice.projectgeneration
(?), org.eclipse.ice.from
(?),
org.eclipse.ice.developer(?)
org.eclipse.ice.developer
Appears to be Eclipse tools (actions and menus) for working with ICE. Recent activity: No activity in ~3 years. Superseded by: ?
org.eclipse.ice.filesimulation
From @jayjaybillings: "An old test bundle. It is the third oldest bundle in all of ICE. It is used to cake the file
command on bash to test Items. It's due for an overhaul for Tasks." The next iteration will likely take advantage of the
commands API.
Recent activity: No activity in ~3 years.
Superseded by: org.eclipse.ice.tasks
, org.eclipse.ice.commands
org.eclipse.ice.io
Several readers and writers for different kinds of configuration files formats as well as HDF5.
Recent activity: No activity in ~5 years.
Superseded by: PersistenceHandlers
to an extent?
org.eclipse.ice.item
"The Item class is responsible for carrying out activities necessary to perform certain tasks with ICE."
Recent activity: No activity in ~5 years for most of the code, some activity between 3-4 years ago.
Superseded by: org.eclipse.ice.tasks
?
org.eclipse.ice.modeling
Seems to be a mostly empty project.
From Joe:
org.eclipse.ice.modeling
was a project that John Hetrick and I added as a dummy example to get him accustomed to git, but I don't think he has worked on it at all since taking a more active role in the neutrons projects. We can probably delete this, unless @jayjaybillings has objections or intends for it to be worked on.
Recent activity: Recently committed by @osbornjd Supersedes: ?
org.eclipse.ice.parent
Seems to be a maven multi-module project used in building ICE.
Recent activity: No activity in ~3 years.
Superseded by: org.eclipse.ice.build
org.eclipse.ice.persistence.xml
XML Persistence providers
Recent activity: No activity in ~4 years.
Superseded by: PersistenceHandlers
?
org.eclipse.ice.projectgeneration
Eclipse project generators.
Recent activity: No activity in ~4 years.
Superseded by: org.eclipse.ice.archetypes
? Archetypes fill the same function but are not exclusive to Eclipse.
Maven archetypes can be used by Eclipse in maven project creation.
org.eclipse.ice.renderer
Renderer for DataElements. Mostly a prototype at the moment but functional and in use in the rse-renderer-client-test
.
Recent activity: In active use.
Supersedes: ?
org.eclipse.ice.servicetester
Only one class in this bundle, ServiceTester
. "Used to test the OSGi/Equinox Declarative Services setup."
Recent activity: No activity in ~5 years.
Superseded by: ?
org.eclipse.ice.target.oxygen
Support for Eclipse Oxygen? Recent activity: Recently changed but git history is proving hard to follow. Unclear what degree of changes were made recently. Superseded by: ?
org.eclipse.ice.tasks
"Tasks are executed by workflows, either fully automated workflows (such as ICE workflows) or workflows controlled by
intelligent agents without full automation."
Recent activity: In active development by @jayjaybillings.
Supersedes: org.eclipse.ice.item
?
org.eclipse.ice.tests.core.jaxrs
"This is a simple test class to check the JAXRS interface bindings in ICE." Recent activity: No activity in ~3 years. Superseded by: ?
org.eclipse.ice.tests.core
Tests for org.eclipse.ice.core
.
Recent activity: No activity in ~3 years.
Superseded by: ?
org.eclipse.ice.tests.datastructures
Tests for org.eclipse.ice.datastructures
.
Recent activity: No activity in ~3 years.
Superseded by: ?
org.eclipse.ice.tests.integration
Integration tests for Eclipse ICE. Integration tests for several bundles are collected here to be isolated from the dependency-free unit tests. Recent activity: In active use. Supersedes: ?
org.eclipse.ice.tests.io
Tests for org.eclipse.ice.io
.
Recent activity: No activity in ~3 years.
Superseded by: ?
org.eclipse.ice.tests.item
Tests for org.eclipse.ice.item
.
Recent activity: No activity in ~3 years.
Superseded by: ?
org.eclipse.ice.tests.persistence.xml
Tests for org.eclipse.ice.persistence.xml
.
Recent activity: No activity in ~3 years.
Superseded by: ?
org.eclipse.ice.tests
Test utilities that can be pulled in by unit and integration tests alike. Provides helpers for easily working with test data and test configurations. Recent activity: In active use. Supersedes: ?
org.eclipse.ice.workflow
Appears to be a WIP replacement workflow engine? Calling in @jayjaybillings for comment.
Recent activity: Saw significant activity about a year ago.
Supersedes: org.eclipse.ice.item
?
rse-renderer-client-test
A prototype web form project using Vaadin to render DataElements.
Recent activity: Under active development as part of WebForm
work.
Supersedes: ?
Other
- docs - Much of this seems obsolete.
- schema - Contains just one file,
basicComponentPageProvider.exsd
. Unclear what purpose is. - utils - Several utilities for fixing documentation especially.
LicenseFixer.sh
still seems to work well.