These plugins do exactly what you describe, you have the source version in maven, you run
mvn package or mvn assembly:assemblyor something like that depending on how it is configured (IE. whether you want to create these distributables every time you build the code, you may not want to build distributables if you just want to check something or run the tests), and then you find a .zip or .tar.bz2 or what ever other archive type we may want to distribute, in the target directory. The produced archive then can be given to an end user who can unpack the archive on their system and run the appropriate script. End users don't need to even know we use maven to build under this model. Only those building from source need know we are using maven.
As for setting up the repository, I have mentioned this before, I don't want to pollute the repository with unused dependencies (IE. I could just go ahead and create an SWT 3.6.0 maven POM which we could depend on, but it may not be until SWT 3.6.1 is out before people start actually linking to SWT, therefore making the 3.6.0 one a waste of space in the repository).
I really am not sure we're at the point where there's a really good solid plan of where this is going, what will be used, etc, and so feel setting up the repository and writing code at this point might be a bit premature.
I get the feeling that John certainly feels otherwise, and if the general view is otherwise, then may be I need to consider my placement here. Either I would need to consider altering/accepting the other view of how the project should develop or if that is not possible for me then as nothing is implemented yet then it may be the best point to depart (IE. nothing implemented, therefore I don't hold key knowledge on how parts of the implementation works).
Michael Whapples On 07/08/10 16:05, John J. Boyer wrote:
Using Maven to build BrailleBlaster is fine. Users, however, will be more comfortable with BrailleBlaster if it is directly executable, as Eclipse is. They just want to seloect a program or shortcut and have it runj, not requiring anything except the jre. Incidentally, hhow about setting up Maven in the BrailleBlaster repository and setting up the brailleblaster directory with the structure Maven requires. John B. On Sat, Aug 07, 2010 at 03:53:31PM +0100, Michael Whapples wrote:Hello, I said in a previous message that the proposed way of starting BrailleBlaster java code was just complicated and that I thought much better and simpler solutions existed which would fit in with using maven as a build system. I have now done a quick look and here are two options. 1. Use the built in maven assembly plugin: This possibly is the most flexible option as the assembly plugin is really a general plugin for allowing you to assemble archive files from maven projects and create custom descriptors. For this I think we would need to provide the start up scripts (shell script for unix and batch file for windows) and then just get the assembly plugin to copy these into the correct location. 2. The AppAssembler plugin from codehaus http://mojo.codehaus.org/appassembler/appassembler-maven-plugin/: This plugin seems to be more targeted at creating application bundles which is what we are looking at here. It has a mechanism for it to generate these start up scripts for us, however it may be limiting should we want to do something very advanced. At the moment I have no strong view for one of these options over the other, but these both are better than having to write custom C code to use JNI, just to start the JVM in a particular class. Michael Whapples