Opened 5 years ago

Closed 5 years ago

#1959 closed enhancement (fixed)

pom.xml.in should be replace by pom.xml with input properties for Maven via CMake

Reported by: Bang Pham Huu Owned by: ahambasan
Priority: major Milestone: 9.8
Component: petascope Version: development
Keywords: Cc: Dimitar Misev
Complexity: Medium

Description (last modified by Dimitar Misev)

All Java applications which use Maven have a template pom.xml.in, which is instantiated with values instead of @VARIABLE@ placeholders by cmake with such a command in CMakeLists.txt

configure_file(pom.xml.in "${CMAKE_CURRENT_SOURCE_DIR}/pom.xml" @ONLY)

Currently the following pom.xml.in exist in the repo:

./applications/RRasdaman/pom.xml.in
./applications/secore/pom.xml.in
./applications/petascope/petascope_main/pom.xml.in
./applications/petascope/petascope_core/pom.xml.in
./applications/petascope/pom.xml.in
./java/pom.xml.in

Instead of configuring pom.xml.in into pom.xml, mvn can be executed to pass variable values directly to a pom.xml, e.g:

 COMMAND ${MAVEN_EXECUTABLE} -q install:install-file 
                             -Dfile=${RASJ_TARGET_DIR}/rasj-jar-with-dependencies.jar
                             -DgroupId=org.rasdaman
                             -DartifactId=rasj
                             -Dversion=${PROJECT_VERSION}

and in pom.xml, it can define these properties such as:

<properties>
    <version> property from commandline </version>
</properties>

The goal of this ticket is to eliminate pom.xml.in and have only pom.xml

Change History (2)

comment:1 by Dimitar Misev, 5 years ago

Description: modified (diff)
Owner: changed from Bang Pham Huu to ahambasan
Status: newassigned

comment:2 by Dimitar Misev, 5 years ago

Resolution: fixed
Status: assignedclosed

With the help of Bang it was finally possible to close this ticket.

Note: See TracTickets for help on using tickets.