For example, I want to type the following:
mvn lazy:add-dependency -DgroupId=com.mycompany -DartifactId=derp -Dversion =1.0
and let it modify the dependency part of the POM in the current directory:
... other dependencies .. .
com.mycompany
derp
1.0
Adding the above XML external commands is also possible, but I prefer commands that do not require me to write an XSL style sheet.
function merge_xml ()
{
TEMP_XML1="some-temp-file1 .xml"
TEMP_XML2="some-temp-file2.xml"
cat> $TEMP_XML1
cp $1 $TEMP_XML2
echo "Merging XML stream from $1 into $2" >&2
xsltproc --stringparam with "$TEMP_XML1" merge.xslt "$TEMP_XML2" | tidy -xml -indent -quiet -wrap 500 -output $2
}
merge.xslt can be found here http://www2.informat ik.hu-berlin.de/~obecker/XSLT/merge/merge.xslt
Then call the Bash function:
merge_xml $PROJECT_ROOT/content/ pom.xml $PROJECT_ROOT/content/pom.xml << EOF
com.company
my-artifact
1.0-SNAPSHOT< /version>
jar
EOF
Is there a command or Maven plugin I can use to add dependencies to the POM from the command line?
For example, I want to type the following:
mvn lazy:add-dependency -DgroupId=com.mycompany -DartifactId=derp -Dversion =1.0
and let it modify the dependency part of the POM in the current directory:
... other dependencies .. .
com.mycompany
derp
1.0
Adding the above XML external commands is also possible, but I prefer commands that do not require me to write an XSL style sheet.
Not sure if you solved this problem, but I have done similar things with xsltproc in the past (I know you said not to use one, but I never found another way).
function merge_xml ()
{
TEMP_XML1="some-temp-file1.xml"
TEMP_XML2="some- temp-file2.xml"
cat> $TEMP_XML1
cp $1 $TEMP_XML2
echo "Merging XML stream from $1 into $2" >&2
xsltproc --stringparam with "$TEMP_XML1" merge.xslt "$TEMP_XML2" | tidy -xml -indent -quiet -wrap 500 -output $2
}
merge.xslt can be found here http ://www2.informatik.hu-berlin.de/~obecker/XSLT/merge/merge.xslt
Then call Bas h function:
merge_xml $PROJECT_ROOT/content/pom.xml $PROJECT_ROOT/content/pom.xml << EOF
com.company
my-artifact
1.0-SNAPSHOT
jar
EOF