GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Clean up installation into scijava.app.directory · Issue #221 · scijava/scijava

Clean up installation into scijava.app.directory #221

New issue
Copy link
New issue
Copy link
Open
Open
Clean up installation into scijava.app.directory#221
Copy link

Description

@hinerm
hinerm
opened on May 16, 2024
Issue body actions

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?
Reacted by Gabriel Selzer

Activity

  1. gselzer commented on May 20, 2024

    @gselzer
    gselzer
    on May 20, 2024
    Member
    More actions

    @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
    hinerm
    on May 20, 2024
    MemberAuthor
    More actions

    @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
    ctrueden
    on May 20, 2024
    Member
    More actions

    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
    ctrueden
    on May 30, 2024
    Member
    More actions

    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.

    Reacted by Gabriel Selzer
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

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.