Re: Publish plugin issue

2018-05-31 Thread Dirk Stöcker

On Thu, 31 May 2018, Michael Zangl wrote:

I'm not a fan of having distribution binary files in the source code 
repository or in any other repository that has to be at a specific place in 
the directory tree.


That may be the case, but it is the way it is and the task is not the 
reinvent the wheel, but to fix the trouble at hand.


We currently have all snapshot plugin jars including source/javadoc on the 
nexus server:


https://josm.openstreetmap.de/nexus/content/groups/public/org/openstreetmap/josm/plugins/

You can pull them from there if you need them for anything.

For local development, you could just check out and add the source directory 
of the plugin to your favorite IDE, you don't need a jar file for this.


You forget that the nexus server uses this build procedure. If it is 
disabled files will be gone there as well.


Ciao
--
http://www.dstoecker.eu/ (PGP key available)



Re: Publish plugin issue

2018-05-31 Thread Michael Zangl
The idea of the quasi-standard files is to have them in a structure in 
which IDEs can pull them in automatically.


We only have few plugins that use a build system that could make use of 
such a functionality. And as far as I have seen, most of them use git 
and are outside of the source tree anyways.



This would only really make sense if we convert the plugins to not 
depend on jar-Files but instead use some more modern dependency system 
that supports dependency versioning. That way it would be easier to test 
plugins that depend on each other in different version combinations and 
it would be easier for us to reporduce plugin errors by not only loading 
the plugin list of that user, but instead loading the exact plugin 
versions the user used including the source tree to our IDE for debugging.


This would require many changes to JOSM and the way JOSM is built. We 
are far away from this (e.g. see #8269).



Michael


On 31.05.2018 08:27, Dirk Stöcker wrote:

On Wed, 30 May 2018, Holger Mappt wrote:


Build the files to do what with them?


Hmm. I think because these are a Quasi-Standard :-) Don't know.

Would a nodist directory parallel to dist be an option if the JARs 
are not to be uploaded to the repository?


They could be in the /dist. Would that be ok?

Ciao





Re: Publish plugin issue

2018-05-31 Thread Michael Zangl

Hi,

I'm not a fan of having distribution binary files in the source code 
repository or in any other repository that has to be at a specific place 
in the directory tree.


We currently have all snapshot plugin jars including source/javadoc on 
the nexus server:


https://josm.openstreetmap.de/nexus/content/groups/public/org/openstreetmap/josm/plugins/

You can pull them from there if you need them for anything.

For local development, you could just check out and add the source 
directory of the plugin to your favorite IDE, you don't need a jar file 
for this.


For CI, the way I would do it is to simply build the artifacts inside 
${plugin.build.dir} and add a target to publish them to a maven server. 
I would set the default publish URL to something like "$buildDir/maven" 
and make a parameter to overwrite it for the CI server. That way, we can 
easily test it locally without having to worry about directory layouts 
and the build server can still collect them somewhere centralized.


Michael




On 30.05.2018 20:07, Holger Mappt wrote:

On 2018-05-30 at 11:57 +0200 Dirk Stöcker wrote:

On Wed, 30 May 2018, Holger Mappt wrote:

I don't see how that can be done without conflicts. If the sources 
and javadoc JARs are generated but not svn added and svn committed 
then those JARs are SVN private files. Everyone who runs the 
according target will have those private files in her/his working 
copy dist directory. If someone svn adds and svn commits the JARs 
then the next svn update will show merge conflicts because the JARs 
are now in the repository and the working copy as private files and 
SVN doesn't know what to do.


A clean solution is to either add the sources and javadoc JARs to 
all targets and to create+commit them for all plugins in dist, or 
not to do that. The sources and javadoc JARs that were added in 
r34045 were deleted in the next revision, so my assumption is that 
we don't want those JARs in dist.


So what's the plan with sources and javadoc JARs?


Vincent wants these files to build, but they should not to be released.

Add an svn:ignore in build directory?

Ciao


Hi,

Build the files to do what with them? Would a nodist directory 
parallel to dist be an option if the JARs are not to be uploaded to 
the repository?


The conflict will occur if the JARs are released later on. An 
svn:ignore will not help in that case. It is better to have separate 
directories for released and not released files.


Regards,
Holger







Re: Publish plugin issue

2018-05-31 Thread Dirk Stöcker

On Wed, 30 May 2018, Holger Mappt wrote:


Build the files to do what with them?


Hmm. I think because these are a Quasi-Standard :-) Don't know.

Would a nodist directory parallel to 
dist be an option if the JARs are not to be uploaded to the repository?


They could be in the /dist. Would that be ok?

Ciao
--
http://www.dstoecker.eu/ (PGP key available)