Closed abstratt closed 4 years ago
Progress so far mavenized the non-Eclipse-based projects:
Now need to cover the Eclipse-based projects, which need to be built under Tycho.
@seidewitz How do you distribute the Eclipse related artifacts (org.modeldriven.alf.eclipse and org.modeldriven.alf.eclipse.moka) for downstream consumers? I am looking into the dist/directory under the alf.zip file that is checked into the Git repository and trying to reverse engineer how they are built but I think it would be best if you described how those JARs are produced, and how they are consumed. Since I could not find any deployable plug-in or feature packages, I wonder how Eclipse-land consumers obtain them.
This is assuming you are interested in streamlining/automating how the distributable packages are produced for the final consumers (as the initial issue description requested - but since I wrote it, thought it would be best that you confirmed that is indeed a goal).
The current manual steps for building the distribution JARs are:
org.modeldriven.alf/src
to the (non-runnable) JAR file org.modeldriven.alf/dist/alf-base.jar
.alf
run configuration (main program org.modeldriven.alf.fuml.impl.execution.Alf
) to org.modeldriven.alf.fuml.impl/dist/alf.jar
.alfc
run configuration (main program org.modeldriven.alf.eclipse.fuml.execution.AlfCompiler
) to org.modeldriven.alf.eclipse/dist/alf-eclipse.jar
.fuml
run configuration (main program org.modeldriven.alf.eclipse.moka.execution.Fuml
) to org.modeldriven.alf.eclipse.moka/dist/fuml-eclipse.jar
(this is also copied into org.modeldriven.alf.eclipse/dist
).alf.jar
, alf-eclipse.jar
and fuml-eclipse.jar
(but not alf-base.jar
) go into the alf/dist
directory in the org.modeldriven.alf-dist/alf.zip
archive. (Note: org.modeldriven.alf-dist
is the Eclipse project name, the directory is called just dist
in the GitHub repository.)Most of the other files in the org.modeldriven.alf-dist
project are rarely updated, except for the archives tests-uml.zip
and tests-x.zip
, which are regenerated for each release. However, as a first step, is sufficient that the Maven build simply create the alf-base.jar
, alf.jar
, alf-eclipse.jar
and fuml-eclipse.jar
files in their respective projects, as listed above. We can deal with more sophisticated distribution packaging later.
However, as a first step, is sufficient that the Maven build simply create the alf-base.jar, alf.jar, alf-eclipse.jar and fuml-eclipse.jar files in their respective projects, as listed above. We can deal with more sophisticated distribution packaging later.
This is now supposedly done in #94. Looking for your feedback, @seidewitz.
Resolved in v1.1.0j.
Adopt Maven+Tycho to allow automated builds of the Alf RI. This would also make it easier to provision the project into a developer's workspace, remove the need for keeping binaries for dependencies in the source repository, publish the Alf RI as Maven artifact to Maven repositories, or Eclipse-compatible components as a P2 repository for better adoption, make it easier to use continuous integration tools (such as Travis), among other benefits.