← 输入框|github.com|刷新
Skip to content

Clean up installation into scijava.app.directory #221

Open

Description

@hinerm

Currently, when running mvn install -Dscijava.app.directory="/path/to/Fiji.app" the following superfluous jars are installed:

  • scijava-ops-ext-parser
  • scijava-ops-indexer
  • scijava-ops-tutorial
  • scijava-testutil
  • scijava-discovery-test

We don't want any of these.

Other fixes:

  • platform-specific native jars go into the /jars directory instead of /jars/[platform]
  • apiguardian jar is included but I think we don't want it?

Activity

  1. gselzer commented on May 20, 2024

    @gselzer
    Member

    @hinerm @ctrueden does the maven-scijava-plugin provide a mechanism for skipping the scijava:populate-app goal? I don't really understand how you'd prevent installation...

  2. hinerm commented on May 20, 2024

    @hinerm
    MemberAuthor

    @gselzer I think we'd have to isolate the unwanted dependencies and modules.. e.g. with different dependency scopes or Maven profiles. I am doubtful that it is something that can/should be handled at the maven-scijava-plugin level.

  3. ctrueden commented on May 20, 2024

    @ctrueden
    Member

    We don't want any of these.

    This suggests to me that perhaps those specific modules should be put behind profile(s), so that their inclusion in the build is opt-in (and therefore their installation via populate-app is opt-in).

    platform-specific native jars go into the /jars directory instead of /jars/[platform]

    @hinerm Is scijava-maven-plugin >=2.0.0 being used? I thought I fixed this issue years ago as described here?

    apiguardian jar is included but I think we don't want it?

    This dependency comes in because scijava-testutil depends on junit-jupiter-api at compile scope, so the apiguardian dependency comes in transitively also at compile scope. If we hide scijava-testutil behind a profile, this artifact will not be included in app installation.

  4. ctrueden commented on May 30, 2024

    @ctrueden
    Member

    Upon reflection, I think instead we should add some kind of skip property to the scijava-maven-plugin's install-artifact goal. That way, we can still have the whole suite build and run tests and even be mvn installed, but not copy them into a Fiji.app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions