Wiki source code of WebJar Maven Handler
Last modified by Thomas Mortagne on 2017/01/24 11:02
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | An issue with webjars for Extension Manager is that it's not possible to differentiate them from "real" JARs with classes in it. | ||
| 2 | |||
| 3 | To workaround this issue we introduces this Maven handled which allow us to have a more explicit ##<packaging>webjar</packaging>## in a webjar project pom.xml. This handler also automate all the plumbing required to make a webjar a webjar. | ||
| 4 | |||
| 5 | All you have to so is: | ||
| 6 | * put the webresources in src/main/webjar | ||
| 7 | * declare the packaging to be ##webjar## as in:((( | ||
| 8 | {{code language="xml"}} | ||
| 9 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | ||
| 10 | <modelVersion>4.0.0</modelVersion> | ||
| 11 | <parent> | ||
| 12 | <groupId>org.xwiki.platform</groupId> | ||
| 13 | <artifactId>xwiki-platform-job</artifactId> | ||
| 14 | <version>9.0-SNAPSHOT</version> | ||
| 15 | </parent> | ||
| 16 | <packaging>webjar</packaging> | ||
| 17 | <artifactId>xwiki-platform-job-webjar</artifactId> | ||
| 18 | </projectr> | ||
| 19 | {{/code}} | ||
| 20 | ))) | ||
| 21 | * optionally register the extension so that ##webjar## is recognized (not needed if you have platform pom >= 9.0 as parent):((( | ||
| 22 | {{code language="xml"}} | ||
| 23 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | ||
| 24 | <modelVersion>4.0.0</modelVersion> | ||
| 25 | <parent> | ||
| 26 | <groupId>org.xwiki.platform</groupId> | ||
| 27 | <artifactId>xwiki-platform-job</artifactId> | ||
| 28 | <version>9.0-SNAPSHOT</version> | ||
| 29 | </parent> | ||
| 30 | <packaging>webjar</packaging> | ||
| 31 | <artifactId>xwiki-platform-job-webjar</artifactId> | ||
| 32 | <build> | ||
| 33 | <extensions> | ||
| 34 | <!-- Needed to add support for the "webjar" packaging --> | ||
| 35 | <extension> | ||
| 36 | <groupId>org.xwiki.commons</groupId> | ||
| 37 | <artifactId>xwiki-commons-tool-webjar-handlers</artifactId> | ||
| 38 | <version>${commons.version}</version> | ||
| 39 | </extension> | ||
| 40 | </extensions> | ||
| 41 | </build> | ||
| 42 | </project> | ||
| 43 | {{/code}} | ||
| 44 | ))) |