Skip to content
  • Christopher Dilks's avatar
    e8db494f
    build!: cleanup dependency tree, shaded JAR, and deploy properly (#632) · e8db494f
    Christopher Dilks authored
    * fix: exclude maven metadata and jacoco from shaded JAR
    
    Excluding maven metadata fixes the following warning from
    `deployDistribution.sh`:
    ```
    [WARNING] Artifact org.jlab.coat:coat-libs JAR (about to be
    installed/deployed) contains Maven Plugin metadata for conflicting
    coordinates: org.jacoco:jacoco-maven-plugin. Your JAR contains rogue
    Maven Plugin metadata. Possible causes may be: shaded into this JAR some
    Maven Plugin or some rogue resource.
    ```
    
    Excluding `jacoco` since only used here for coverage testing
    
    * fix: now we can use `mvn deploy`
    
    * build: work in progress...
    
    * doc: deployment notes
    
    * fix: mermaid
    
    * fix: mermaid
    
    * fix: mermaid
    
    * fix: mermaid
    
    * fix: mermaid
    
    * fix: mermaid
    
    * fix: more progress and an unhelpful git commit message
    
    * fix: flow control
    
    * doc: tersify
    
    * build: cleanup
    
    * fix: clear `ejml` warnings
    
    * build: untangling dependencies
    
    * build: openjfx
    
    * fix: more untangling
    
    * fix: classifiers
    
    * fix: only include `junit` where actually needed
    
    * fix: even more untangling
    
    * fix: resolved almost all the transitive dependencies
    
    * fix: the knot is untangled!!!
    
    * doc: mermaid
    
    * doc: mermaid
    
    * doc: mermaid
    
    * fix: remove test-scoped dependency `org.jlab.jnp:jnp-hipo4` from reconstruction tests
    
    This was strange. If I scope `jnp-hipo4` to `test` in the POM file, as
    suggested by `mvn dependency:analyze`, I would get build errors in very
    specific methods, for example, `ECCommon.readStripsHipo`:
    - my IDE (Eclipse JDT LSP) correctly sees `DataEvent` as `org.jlab.io.base.DataEvent`
    - the Maven build (`maven-compiler-plugin`) would get confused and think
      that `DataEvent` comes from somewhere in `jnp-hipo4`, even though this
      package was not being imported
    
    With the help of @raffaelladevita we found that `jnp-hipo4` dependency
    could actually be removed from all of the tests, so we can avoid the
    issue altogether.
    
    * fix: need `CLAS12DIR` in the test
    
    * ci: tell dependabot to not update `ejml-simple`
    
    * refactor: clarify which deps are for conflict resolution
    
    * ci: dependency analysis
    
    * fix(ci): dependence
    
    * fix: no progress printout
    
    * fix: stop screaming about unused shade deps
    
    * ci: release with version number in name; open issue if fail
    
    * fix: syntax and issue template
    
    * test: dump classpath for tests
    
    * perf(ci): move unit tests to their own job
    
    * ci: update needs for `final`
    
    * fix: exclude `coat-libs` from javadoc aggregation
    
    * fix: DRY violation of plugin version
    
    * fix: `coat-lib` -> `coat-libs`
    
    * fix: exclude `coat-libs` from `javadoc` in parent POM
    
    * fix: use `skip` configuration to self-exclude `coat-libs`
    
    * fix: `execution`
    
    * fix: explicit control in CI config
    
    * fix: install all modules' JARs
    
    * fix: env
    
    * feat: warn if a `target` directory persists after `mvn clean`
    
    * fix: improve installation
    
    * fix: claspathology
    
    * fix: source after clara
    
    * doc: choose version 1
    
    * test: disable fail-fast
    
    * fix: appease clara and install `common-tools` to `lib/services`
    
    * fix: add `cnuphys/snr` and `clas-math` to `coat-libs`, since...
    
    ...they were in the original `coat-libs` somehow
    
    * doc: general deployment procedure
    
    * fix: small stuff
    
    * fix(coat-libs): `org.jlab.clas` -> `org.jlab.coat`
    
    * fix: actually deploy
    
    * fix(ci): `-pl` args
    
    * fix: release permission
    e8db494f
    build!: cleanup dependency tree, shaded JAR, and deploy properly (#632)
    Christopher Dilks authored
    * fix: exclude maven metadata and jacoco from shaded JAR
    
    Excluding maven metadata fixes the following warning from
    `deployDistribution.sh`:
    ```
    [WARNING] Artifact org.jlab.coat:coat-libs JAR (about to be
    installed/deployed) contains Maven Plugin metadata for conflicting
    coordinates: org.jacoco:jacoco-maven-plugin. Your JAR contains rogue
    Maven Plugin metadata. Possible causes may be: shaded into this JAR some
    Maven Plugin or some rogue resource.
    ```
    
    Excluding `jacoco` since only used here for coverage testing
    
    * fix: now we can use `mvn deploy`
    
    * build: work in progress...
    
    * doc: deployment notes
    
    * fix: mermaid
    
    * fix: mermaid
    
    * fix: mermaid
    
    * fix: mermaid
    
    * fix: mermaid
    
    * fix: mermaid
    
    * fix: more progress and an unhelpful git commit message
    
    * fix: flow control
    
    * doc: tersify
    
    * build: cleanup
    
    * fix: clear `ejml` warnings
    
    * build: untangling dependencies
    
    * build: openjfx
    
    * fix: more untangling
    
    * fix: classifiers
    
    * fix: only include `junit` where actually needed
    
    * fix: even more untangling
    
    * fix: resolved almost all the transitive dependencies
    
    * fix: the knot is untangled!!!
    
    * doc: mermaid
    
    * doc: mermaid
    
    * doc: mermaid
    
    * fix: remove test-scoped dependency `org.jlab.jnp:jnp-hipo4` from reconstruction tests
    
    This was strange. If I scope `jnp-hipo4` to `test` in the POM file, as
    suggested by `mvn dependency:analyze`, I would get build errors in very
    specific methods, for example, `ECCommon.readStripsHipo`:
    - my IDE (Eclipse JDT LSP) correctly sees `DataEvent` as `org.jlab.io.base.DataEvent`
    - the Maven build (`maven-compiler-plugin`) would get confused and think
      that `DataEvent` comes from somewhere in `jnp-hipo4`, even though this
      package was not being imported
    
    With the help of @raffaelladevita we found that `jnp-hipo4` dependency
    could actually be removed from all of the tests, so we can avoid the
    issue altogether.
    
    * fix: need `CLAS12DIR` in the test
    
    * ci: tell dependabot to not update `ejml-simple`
    
    * refactor: clarify which deps are for conflict resolution
    
    * ci: dependency analysis
    
    * fix(ci): dependence
    
    * fix: no progress printout
    
    * fix: stop screaming about unused shade deps
    
    * ci: release with version number in name; open issue if fail
    
    * fix: syntax and issue template
    
    * test: dump classpath for tests
    
    * perf(ci): move unit tests to their own job
    
    * ci: update needs for `final`
    
    * fix: exclude `coat-libs` from javadoc aggregation
    
    * fix: DRY violation of plugin version
    
    * fix: `coat-lib` -> `coat-libs`
    
    * fix: exclude `coat-libs` from `javadoc` in parent POM
    
    * fix: use `skip` configuration to self-exclude `coat-libs`
    
    * fix: `execution`
    
    * fix: explicit control in CI config
    
    * fix: install all modules' JARs
    
    * fix: env
    
    * feat: warn if a `target` directory persists after `mvn clean`
    
    * fix: improve installation
    
    * fix: claspathology
    
    * fix: source after clara
    
    * doc: choose version 1
    
    * test: disable fail-fast
    
    * fix: appease clara and install `common-tools` to `lib/services`
    
    * fix: add `cnuphys/snr` and `clas-math` to `coat-libs`, since...
    
    ...they were in the original `coat-libs` somehow
    
    * doc: general deployment procedure
    
    * fix: small stuff
    
    * fix(coat-libs): `org.jlab.clas` -> `org.jlab.coat`
    
    * fix: actually deploy
    
    * fix(ci): `-pl` args
    
    * fix: release permission
Loading