Bug 663216 - RFE: Change CMAKE_JAR_CLASSES_PREFIX to allow for a list of prefixes . . .
Summary: RFE: Change CMAKE_JAR_CLASSES_PREFIX to allow for a list of prefixes . . .
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Dogtag Certificate System
Classification: Retired
Component: Build
Version: 9.0
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: ---
Assignee: Andreas Schneider
QA Contact: Chandrasekar Kannan
URL:
Whiteboard:
Depends On:
Blocks: dogtagIPAv2
TreeView+ depends on / blocked
 
Reported: 2010-12-15 00:55 UTC by Matthew Harmsen
Modified: 2015-01-04 23:45 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-09-16 08:27:19 UTC
Embargoed:


Attachments (Terms of Use)

Description Matthew Harmsen 2010-12-15 00:55:51 UTC
While CMAKE_JAR_CLASSES_PREFIX should still be able to provide a single prefix, it should also be changed to allow for a list of prefixes.

As provided in https://bugzilla.redhat.com/attachment.cgi?id=467558 to "Bugzilla Bug #643206 - New CMake based build system for Dogtag", allow CMAKE_JAR_CLASSES_PREFIX to provide a list of prefixes rather than just a single prefix.

This would possibly require changes to the following CMAKE Modules:

    * pki/cmake/Modules/UseJavaClassFilelist.cmake
    * pki/cmake/Modules/UseJava.cmake

For example, CMAKE_JAR_CLASSES_PREFIX is currently utilized in "pki/base/common/src/CMakeLists.txt" to build three distinct jars:

    * certsrv.jar (containing all "com/netscape/certsrv/*.class")
    * cms.jar     (containing all "com/netscape/cms/*.class")
    * cmscore.jar (containing all "com/netscape/cmscore/*.class")

by providing individual invocations of this variable:

    * set(CMAKE_JAR_CLASSES_PREFIX com/netscape/certsrv)
    * set(CMAKE_JAR_CLASSES_PREFIX com/netscape/cms)
    * set(CMAKE_JAR_CLASSES_PREFIX com/netscape/cmscore)

While this is works correctly for this particular case, it should be possible for a user to specify something similar to the following:

    * set(CMAKE_JAR_CLASSES_PREFIX com/redhat/foo com/redhat/ack )
    * set(CMAKE_JAR_CLASSES_PREFIX com/redhat/bar)

to produce two jars from a single component:

    * foo.jar (containing all "com/redhat/foo/*.class" AND
               "com/redhat/ack.class")
    * bar.jar (containing all "com/redhat/bar/*.class")

Comment 1 Andreas Schneider 2010-12-20 16:49:26 UTC
This has been implemented!


Note You need to log in before you can comment on or make changes to this bug.