mojohaus / appassembler

https://www.mojohaus.org/appassembler/
MIT License
93 stars 49 forks source link

Configured script templates must be absolute paths #117

Open aalmiray opened 3 years ago

aalmiray commented 3 years ago

Overriding the default <unixScriptTemplate> and <windowsScriptTemplate> requires setting absolute paths instead of relative. if the configuration is set to

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>appassembler-maven-plugin</artifactId>
  <configuration>
    <unixScriptTemplate>src/main/assembly/unixBinTemplate</unixScriptTemplate>
    <windowsScriptTemplate>src/main/assembly/windowsBinTemplate</windowsScriptTemplate>
    <!-- ... -->
</plugin>

Then a an exception occurs

Caused by: org.codehaus.mojo.appassembler.daemon.DaemonGeneratorException: Unable to load external template resource: src/main/assembly/windowsBinTemplate
    at org.codehaus.mojo.appassembler.daemon.script.DefaultScriptGenerator.getScriptTemplate (DefaultScriptGenerator.java:319)
    at org.codehaus.mojo.appassembler.daemon.script.DefaultScriptGenerator.createBinScript (DefaultScriptGenerator.java:177)
    at org.codehaus.mojo.appassembler.daemon.standard.WindowsScriptDaemonGenerator.generate (WindowsScriptDaemonGenerator.java:48)
    at org.codehaus.mojo.appassembler.daemon.DefaultDaemonGeneratorService.generateDaemon (DefaultDaemonGeneratorService.java:142)
    at org.codehaus.mojo.appassembler.AssembleMojo.execute (AssembleMojo.java:298)

If the paths are made absolute with ${project.basedir} then the plugin execution succeeds.

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>appassembler-maven-plugin</artifactId>
  <configuration>
    <unixScriptTemplate>${project.basedir}/src/main/assembly/unixBinTemplate</unixScriptTemplate>
    <windowsScriptTemplate>${project.basedir}/src/main/assembly/windowsBinTemplate</windowsScriptTemplate>
    <!-- ... -->
</plugin>