Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider distribution via maven.scijava.org #25

Open
imagejan opened this issue Jul 21, 2020 · 8 comments
Open

Consider distribution via maven.scijava.org #25

imagejan opened this issue Jul 21, 2020 · 8 comments

Comments

@imagejan
Copy link

Using maven.scijava.org instead of a custom bintray repository would simplify it for downstream projects to use cats as a dependency (similar also for this repo's dependencies, such as imaris-writer etc.).

I suggest adding Travis CI for building and deploying to maven.scijava.org, in line with other projects in the SciJava universe.

@tischi Let me know if this is of interest, I can file a PR setting up Travis.

@tischi
Copy link
Collaborator

tischi commented Jul 21, 2020

Thanks! Of total interest! Please go ahead and let me know how I can help!

FYI: There will be dependencies in this repo that would need to be moved to maven.scijava.org as well.

@imagejan
Copy link
Author

In general, it's ok if the dependencies can be found on one of the configured repositories. There are some however that cannot be found be maven.

The artifacts currently missing (i.e. not on https://dl.bintray.com/tischi/snapshots/ nor anywhere else in the configured repositories) are:

  • de.embl.cba:bigDataProcessor1_:0.7.3

    cats/pom.xml

    Lines 129 to 133 in b030933

    <dependency>
    <groupId>de.embl.cba</groupId>
    <artifactId>bigDataProcessor1_</artifactId>
    <version>0.7.3</version>
    </dependency>

  • de.embl.cba:imagej-utils:0.5.1

    cats/pom.xml

    Lines 134 to 138 in b030933

    <dependency>
    <groupId>de.embl.cba</groupId>
    <artifactId>imagej-utils</artifactId>
    <version>0.5.1</version>
    </dependency>

Can you point me to their repositories?

@tischi
Copy link
Collaborator

tischi commented Jul 21, 2020

not on https://dl.bintray.com/tischi/snapshots/ nor anywhere else in the configured repositories)

Yes, I know, it was too cumbersome for me to always push them there. Thus I would be very happy if this would be moved to maven.scijava.org!

  1. https://github.com/bigdataprocessor/bigDataProcessor1
  2. https://github.com/tischi/imagej-utils

Not sure this is relevant here, but regarding the bigDataProcessor1: that lives on a different Fiji Update Site (BigDataProcessor), CATS should also run without it, but will have additional features if the BigDataProcessor update site is enabled.

@imagejan
Copy link
Author

imagejan commented Jul 21, 2020

tischi/imagej-utils

This one depends on -platybrowser versions that are not available in any Maven repository:

		<dependency>
			<groupId>sc.fiji</groupId>
			<artifactId>bigdataviewer-core</artifactId>
			<!-- Transformed Box Dialog	-->
			<version>8.0.2-platybrowser</version>
		</dependency>
		<dependency>
			<groupId>sc.fiji</groupId>
			<artifactId>bigdataviewer-vistools</artifactId>
			<!-- Transformed Box Dialog	-->
			<version>1.0.0-beta-18-platybrowser</version>
		</dependency>

Are these versions still required, or can we switch to officially deployed versions?

@tischi
Copy link
Collaborator

tischi commented Jul 21, 2020

This unfortunately depends...
The bdv-platybrowser repos contain functionality/ bug fixes which are, afaik, not available in the officially deployed versions.

See e.g.,

Also some other fixes that I depend on are only in the latest bdv, which is not the one that is currently shipped with Fiji...

But I think some of my repos do not depend on these changes and we could use the official ones.
Which repo were you looking at specifically?

@imagejan
Copy link
Author

For automatic builds and deployment, it is irrelevant what's currently shipped with Fiji. The only thing we care about is whether your project builds with the dependencies and versions defined in your pom, and if those specific versions are available somewhere on the maven universe defined by the configured repositories (i.e. only maven.scijava.org ideally, or additional bintray or jitpack repositories if required).

If you have a fork of these specific versions of bigdataviewer-core and bigdataviewer-vistools, we could possibly try with a jitpack artifact pointing to a specific commit (as they do in sciview). But if it builds with latest (unforked) versions, even better of course.

@imagejan
Copy link
Author

Hm, the entire dependency tree seems to be quite "skrewed up" 😟 (in the sense that dependency versions of transitive dependencies are not found in the repositories that are defined in their respective POMs).

After trying to fix a few versions, I'm stuck at:

Failed to collect dependencies at de.embl.cba:fiji-plugin-morphometry:jar:0.5.2 -> de.embl.cba:fiji-plugin-cats:jar:0.7.2 -> de.embl.cba:classifiers:jar:0.1.03: Failed to read artifact descriptor for de.embl.cba:classifiers:jar:0.1.03: Could not find artifact de.embl.cba:pom-embl-cba:pom:0.1.01 in scijava.public (https://maven.scijava.org/content/groups/public)

I fear we have to start way more down the dependency tree with getting up artifacts onto public repositories. Giving up for now, but will hopefully resume once I find the time.

@tischi
Copy link
Collaborator

tischi commented Jul 22, 2020

the entire dependency tree seems to be quite "skrewed up"

Yes, I know, I am currently working on improving this.
I think we should start from the easiest with the least dependencies.
I will have a look and let you know which one is least complex, ok?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants