[CMake] [Java] - Adding manifest information to a jar file

Andreas Schneider asn at cryptomilk.org
Wed Feb 8 03:20:37 EST 2012


On Tuesday 07 February 2012 13:01:49 David Cole wrote:
> 2012/2/7 Nicolas Desprès <nicolas.despres at gmail.com>:
> > On Sat, Dec 10, 2011 at 3:46 PM, Andreas Schneider <asn at cryptomilk.org> 
wrote:
> >> On Saturday 29 October 2011 23:34:50 Frank Glinka wrote:
> >>> Hi,
> >> 
> >> Hi,
> > 
> > Hi,
> > 
> >>> I am happy about the recently improved Java support within cmake.
> >>> Thanks! Anyhow, I have a small point which should be easy to improve and
> >>> which would deliver quite some usability, in my opinion.
> >>> 
> >>> The current syntax for building and packaging Java files is:
> >>> > add_jar(${TARGETNAME} ${SOURCE_FILES} ${RESOURCE_FILES})
> >>> 
> >>> This has some drawbacks:
> >>> 
> >>> 1) No executable jar can be created with that method. It seems there is
> >>> already some effort on that issue as:
> >>> https://github.com/viandfraich/CMake/commit/36b223e34f5d48339da39e833a2f
> >>> 5e7d f2866e87
> >> 
> >> I don't like the way how it has been added here. I think it should be an
> >> optional vairable you set before like the others. Please open a feature
> >> request in the bug tracker. Patches are welcome.
> > 
> > Here is a proposal:
> > https://github.com/polrop/CMake/commits/java-executable-jar> 
> >>> 2) A jar file can be annotated with a lot of more important information,
> >>> e.g., version information, scope, main-class (would also catch the first
> >>> issue), etc. This information is normally passed as a property/manifest
> >>> file when calling the "jar" packager. Currently, the UseJava.cmake
> >>> 
> >>> module creates the following command within 'add_jar':
> >>> > jar cf ${TARGETNAME} ${CLASS_FILES} ${RESOURCE_FILES}
> >>> 
> >>> The following would solve my (and I guess many others') use cases:
> >>> > jar cmf ${TARGETNAME} MyManifest.mf ${CLASS_FILES} ${RESOURCE_FILES}
> >> 
> >> Should be an optional option and should be done like the other options.
> >> 
> >> set(CMAKE_JAVA_MANIFEST mymanifest.mf)
> >> add_jar(foo foo.java)
> > 
> > I don't have any patch for this issue yet. Maybe in the future.
> > 
> >>> An optional command to add_jar would be desirable which allows to
> >>> provide an optional manifest file. If provided, the later syntax should
> >>> be used for calling the 'jar' tool.
> >>> 
> >>> Will there be progress towards supporting manifest information anytime
> >>> soon within cmake?
> >> 
> >> Open a feature request in the bugtracker.
> > 
> > Please tell me what you think about the proposal.
> > 
> > Regards,
> > 
> > --
> > Nicolas Desprès
> > --
> > 
> > Powered by www.kitware.com
> > 
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> > 
> > Please keep messages on-topic and check the CMake FAQ at:
> > http://www.cmake.org/Wiki/CMake_FAQ
> > 
> > Follow this link to subscribe/unsubscribe:
> > http://www.cmake.org/mailman/listinfo/cmake
> 
> The proposed commits (3 of them, right?) at
> https://github.com/polrop/CMake/commits/java-executable-jar look
> reasonable to me.
> 
> Any objections from people who care about Java to getting these into
> CMake 'next' ...?

Hi,

David they look good to me. Should I push them to staging or do you want to do 
it?


Cheers,

	-- andreas


-- 
Andreas Schneider                   GPG-ID: F33E3FC6
www.cryptomilk.org                asn at cryptomilk.org



More information about the CMake mailing list