Das mathcoach-resources-maven-plugin hat die Aufgabe die verteilten Resourcen (Dateien zur Laufzeit, JavaScript, Bilder, Dokumentation, …​) in ein Zielverzeichnis zu kopieren. Dabei wird ein convention-over-configuration Ansatz verwendet: Jedes Artefakt, das Resourcen anbietet, muss diese in einem bestimmten Verzeichnis in src/main/resources/ hinterlegen. Dieses Verzeichnis lässt sich über den Parameter resourcesRoot konfigurieren und ist standardmäßig auf mc-resources festgelegt (Resourcen sollen also in src/main/resources/mc-resources/ abgelegt werden).

Das Zielverzeichnis, in das alle Resourcen kopiert werden sollen, lässt sich mit dem Parameter toDir konfigurieren (Standard: ${project.build.directory}/${project.artifactId}-${project.version}/).

Damit die Resourcen von Fremdartefakten ignoriert werden, gibt es eine Whitelist, mit der Artefakt-Koordinaten (mittels String.match, Format: groupId:artifactId:version) abgeglichen werden.

Note

Es sollten die Standardkonfiguration verwendet werden, da mathcoach auf diese zurückgreift. Standardmäßig berücksichtigt mathcoach alle de\.htwsaar:.:.-Artefakte. Resourcen werden direkt in das Root-Verzeichnis von mathcoach kopiert (dort, wo auch die index.html liegt). Weitere Informationen zum Thema "Schreiben von Dokumentation" finden sich in der Dokumentation des mathcoach-documentation-plugin.

Beispiel:

        <plugin>
                <groupId>de.htwsaar</groupId>
                <artifactId>mathcoach-resources-maven-plugin</artifactId>
                <version>...</version>
                <configuration>
                        <whitelistArtifacts>
                                <arg>de\.htwsaar:.*:.*</arg>
                        </whitelistArtifacts>
                </configuration>
                <executions>
                        <execution>
                                <id>collect files for documentation and runtime</id>
                                <configuration>
                                        <!--<toDir>${project.build.directory}/${project.artifactId}-${project.version}/</toDir>-->
                                        <!--<resourcesRoot>mc-resources</resourcesRoot> "src/main/resources/" + "mc-resources"  = root for files to copy-->
                                </configuration>
                                <phase>compile</phase>
                                <goals>
                                        <goal>collect-resources</goal>
                                </goals>
                        </execution>
                </executions>
        </plugin>