Commit 8fc166b3 authored by Johannes Salentin's avatar Johannes Salentin
Browse files

Merge branch 'release/0.1.0'

parents e2a0589d 51dde67a
Pipeline #157814 passed with stages
in 59 seconds
......@@ -128,4 +128,8 @@ fabric.properties
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
\ No newline at end of file
.idea/caches/build_file_checksums.ser
# Maven
log/
target/
\ No newline at end of file
image: maven:latest
cache:
paths:
- target/
compile:
stage: build
script:
- mvn compile -B
test:
stage: test
script:
- mvn test -B
verify:
stage: test
script:
- mvn verify -B
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="EA Smells Detection" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel>
<module name="EA Smells Detection" target="1.8" />
</bytecodeTargetLevel>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with NO BOM">
<component name="Encoding">
<file url="file://$PROJECT_DIR$" charset="UTF-8" />
<file url="PROJECT" charset="windows-1252" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
......
Using JAXB, you would:
1. Bind the schema for the XML document.
2. Unmarshal the document into Java content objects. The Java content objects represent the content and organization of the XML document, and are directly available to your program.
For 1. Binding \
``xjc.sh -p de.example.model archimate3_model.xsd -d src``
# Using JAXB:
1. Bind the schema for the XML document: \
``xjc -p de.example.model -encoding UTF-8 archimate3_Diagram.xsd`` \
If needed compile with \
``javac example/model/*.java``
For 2. Unmarshalling \
use the program
2. Unmarshal the document into Java content objects.
The Java content objects represent the content and organization of the XML document, and are directly available to your program. \
``unmarshal(String xmlFile, Class<T> c, String xsdSchema)``
3. Modify the content tree with ``ObjectFactory``
4. Marshal the content tree into an XML-File (can be the same as before) \
``marshal(Object jaxbElement, String xmlFile, String xsdSchema)`` \
Can be necessary to add ``@XmlRootElement(name = "model")`` to ``ModelType`` for proper marshalling according to previous XML.
The marshalling and unmarshalling functionality is provided in the ``de.example.modelAdapter`` package.
Currently the bound classes for the model are located in the ``de.example.model`` package.
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/17.0.0/annotations-17.0.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0" level="project" />
</component>
</module>
\ No newline at end of file
MIT License
Copyright (c) 2019 Johannes Salentin - RWTH Aachen University
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
[![pipeline status](https://git.rwth-aachen.de/ba-ea-smells/program/badges/develop/pipeline.svg)](https://git.rwth-aachen.de/ba-ea-smells/program/commits/develop)
[![Contributions welcome](https://img.shields.io/badge/contributions-welcome-orange.svg)](https://git.rwth-aachen.de/ba-ea-smells/program/blob/master/CONTRIBUTING.md)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
# Program (prototype)
This repository contains everything concerning the prototype program to detect Enterprise Architecture Smells in EA Repositories.
......
<?xml version="1.0" encoding="UTF-8"?>
<model xmlns="http://www.opengroup.org/xsd/archimate/3.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengroup.org/xsd/archimate/3.0/ http://www.opengroup.org/xsd/archimate/3.0/archimate3_Diagram.xsd" identifier="id-825fc864-cf1b-44ee-9aae-e18b93b010f5">
<name xml:lang="de">Test</name>
<elements>
<element identifier="id-c75917ca-5c20-4fc1-be7d-8756eef684b0" xsi:type="BusinessService">
<name xml:lang="de">S1</name>
</element>
<element identifier="id-435bc94c-32fc-48fb-8677-e2ff74eb32c8" xsi:type="BusinessService">
<name xml:lang="de">S2</name>
</element>
<element identifier="id-ab882019-9db1-4442-800f-c106b05d143c" xsi:type="BusinessService">
<name xml:lang="de">S3</name>
</element>
</elements>
<relationships>
<relationship identifier="id-db86487d-18d5-44ad-93ab-6033c0483e44" source="id-c75917ca-5c20-4fc1-be7d-8756eef684b0" target="id-435bc94c-32fc-48fb-8677-e2ff74eb32c8" xsi:type="Serving" />
<relationship identifier="id-85ef5ebb-0cf3-4a6f-ae84-96db26374e54" source="id-435bc94c-32fc-48fb-8677-e2ff74eb32c8" target="id-ab882019-9db1-4442-800f-c106b05d143c" xsi:type="Serving" />
<relationship identifier="id-3331e143-5efe-47af-b2a1-90334bcb736e" source="id-ab882019-9db1-4442-800f-c106b05d143c" target="id-c75917ca-5c20-4fc1-be7d-8756eef684b0" xsi:type="Serving" />
</relationships>
<views>
<diagrams>
<view identifier="id-605923ee-be74-40a4-9526-199a71bffa5c" xsi:type="Diagram">
<name xml:lang="de">Default View</name>
<node identifier="id-47063029-f542-4d37-b937-0a4bc8aa66aa" elementRef="id-c75917ca-5c20-4fc1-be7d-8756eef684b0" xsi:type="Element" x="120" y="72" w="505" h="181">
<style>
<fillColor r="255" g="255" b="181" a="100" />
<lineColor r="92" g="92" b="92" />
<font name="Segoe UI" size="9">
<color r="0" g="0" b="0" />
</font>
</style>
</node>
<node identifier="id-63ae4155-ef68-4f1b-9d0e-5ecf07b22f26" elementRef="id-435bc94c-32fc-48fb-8677-e2ff74eb32c8" xsi:type="Element" x="720" y="132" w="241" h="121">
<style>
<fillColor r="255" g="255" b="181" a="100" />
<lineColor r="92" g="92" b="92" />
<font name="Segoe UI" size="9">
<color r="0" g="0" b="0" />
</font>
</style>
</node>
<node identifier="id-546e1ea3-d887-4aca-b2d0-a83fa3243196" elementRef="id-ab882019-9db1-4442-800f-c106b05d143c" xsi:type="Element" x="180" y="372" w="385" h="121">
<style>
<fillColor r="255" g="255" b="181" a="100" />
<lineColor r="92" g="92" b="92" />
<font name="Segoe UI" size="9">
<color r="0" g="0" b="0" />
</font>
</style>
</node>
<connection identifier="id-d08a21eb-2c62-4f01-8a4c-9b060b0fa6b2" relationshipRef="id-db86487d-18d5-44ad-93ab-6033c0483e44" xsi:type="Relationship" source="id-47063029-f542-4d37-b937-0a4bc8aa66aa" target="id-63ae4155-ef68-4f1b-9d0e-5ecf07b22f26">
<style>
<lineColor r="0" g="0" b="0" />
<font name="Segoe UI" size="9">
<color r="0" g="0" b="0" />
</font>
</style>
</connection>
<connection identifier="id-8f89b5a3-712a-4f5b-841e-beee2f87b868" relationshipRef="id-85ef5ebb-0cf3-4a6f-ae84-96db26374e54" xsi:type="Relationship" source="id-63ae4155-ef68-4f1b-9d0e-5ecf07b22f26" target="id-546e1ea3-d887-4aca-b2d0-a83fa3243196">
<style>
<lineColor r="0" g="0" b="0" />
<font name="Segoe UI" size="9">
<color r="0" g="0" b="0" />
</font>
</style>
</connection>
<connection identifier="id-ee353188-d6cd-4122-aec9-738467d1d1fd" relationshipRef="id-3331e143-5efe-47af-b2a1-90334bcb736e" xsi:type="Relationship" source="id-546e1ea3-d887-4aca-b2d0-a83fa3243196" target="id-47063029-f542-4d37-b937-0a4bc8aa66aa">
<style>
<lineColor r="0" g="0" b="0" />
<font name="Segoe UI" size="9">
<color r="0" g="0" b="0" />
</font>
</style>
</connection>
</view>
</diagrams>
</views>
</model>
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.opengroup.org/xsd/archimate/3.0/"
targetNamespace="http://www.opengroup.org/xsd/archimate/3.0/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:archimate="http://www.opengroup.org/xsd/archimate/3.0/"
elementFormDefault="qualified"
version="3.0"
attributeFormDefault="unqualified">
<xs:include schemaLocation="archimate3_Model.xsd" />
<xs:annotation>
<xs:documentation>
XSD Data File Information
-------------------------
Author: The Open Group ArchiMate Exchange Team
Start date: 04 Oct 2016
Revision date: 18 May 2017
XSD Version: 3.0
Status: Final
Description: The Open Group ArchiMate 3.0 Open Exchange Format
</xs:documentation>
<xs:documentation>
Notes and rationale
-------------------
This is the XSD for the ArchiMate 3.0 Model Exchange File Format.
A number of example models in the exchange file format are available
for interoperability testing. For details of how to obtain those
files and for further information, see the ArchiMate Model Exchange File Format
page at http://www.opengroup.org/xsd/archimate/
</xs:documentation>
</xs:annotation>
<!-- =========================== Declaration of the Root Model Element ========================== -->
<xs:redefine schemaLocation="archimate3_Model.xsd">
<xs:complexType name="ModelType">
<xs:complexContent>
<xs:extension base="ModelType">
<xs:sequence>
<xs:element name="views" type="ViewsType" minOccurs="0" maxOccurs="1">
<xs:key name="ViewKey">
<xs:selector xpath=".//archimate:view" />
<xs:field xpath="@identifier" />
</xs:key>
<xs:key name="ViewpointKey">
<xs:selector xpath="./archimate:viewpoints/archimate:viewpoint" />
<xs:field xpath="@identifier" />
</xs:key>
<xs:keyref name="ViewRef" refer="ViewKey">
<xs:selector xpath=".//archimate:viewRef" />
<xs:field xpath="@ref" />
</xs:keyref>
<xs:keyref name="ViewRefAttribute" refer="ViewKey">
<xs:selector xpath=".//archimate:*" />
<xs:field xpath="@viewRef" />
</xs:keyref>
<xs:keyref name="ViewpointRef" refer="ViewpointKey">
<xs:selector xpath=".//archimate:viewpointRef" />
<xs:field xpath="@ref" />
</xs:keyref>
<xs:keyref name="ViewpointRefAttribute" refer="ViewpointKey">
<xs:selector xpath=".//archimate:*" />
<xs:field xpath="@viewpointRef" />
</xs:keyref>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:redefine>
<!-- =================================== Reference Types ========================================= -->
<!-- Note: These are here to allow extensions to use references -->
<xs:group name="ViewRefGroup">
<xs:sequence>
<xs:element name="viewRef" type="ReferenceType" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:group>
<xs:attributeGroup name="ViewRefAttributeGroup">
<xs:attribute name="viewRef" type="xs:IDREF" use="required" />
</xs:attributeGroup>
<xs:group name="ViewpointRefGroup">
<xs:sequence>
<xs:element name="viewpointRef" type="ReferenceType" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:group>
<xs:attributeGroup name="ViewpointRefAttributeGroup">
<xs:attribute name="viewpointRef" type="xs:IDREF" use="required" />
</xs:attributeGroup>
<!-- ==================================== Views Types ================================= -->
<xs:complexType name="ViewsType">
<xs:annotation>
<xs:documentation>
This is a container for all of the Views in the model.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="viewpoints" type="ViewpointsType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>
viewpoints is optional and is a container for any viewpoints.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ViewType" abstract="true">
<xs:annotation>
<xs:documentation>
Container for View type.
Note that View itself is abstract so one must have a derived type. the xml example must look like
a tag name "view" with an attribute of xsi:type="Diagram", if Diagram is a derived type from ViewType.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="NamedReferenceableType">
<xs:sequence>
<xs:group ref="PropertiesGroup" />
</xs:sequence>
<xs:attribute name="viewpoint" type="ViewpointTypeType" use="optional" />
<xs:attribute name="viewpointRef" type="xs:IDREF" use="optional" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ======================================= Viewpoints ============================================== -->
<xs:complexType name="ViewpointsType">
<xs:annotation>
<xs:documentation>
This is a container for all of the Viewpoints in the model.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="viewpoint" type="ViewpointType" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ViewpointPurposeEnum">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Designing" />
<xs:enumeration value="Deciding" />
<xs:enumeration value="Informing" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ViewpointPurposeType">
<xs:list itemType="ViewpointPurposeEnum" />
</xs:simpleType>
<xs:simpleType name="ViewpointContentEnum">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Details" />
<xs:enumeration value="Coherence" />
<xs:enumeration value="Overview" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ViewpointContentType">
<xs:list itemType="ViewpointContentEnum" />
</xs:simpleType>
<xs:complexType name="ViewpointType">
<xs:complexContent>
<xs:extension base="NamedReferenceableType">
<xs:sequence>
<xs:group ref="PropertiesGroup" />
<xs:element name="concern" type="ConcernType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="viewpointPurpose" type="ViewpointPurposeType" minOccurs="0" maxOccurs="1" />
<xs:element name="viewpointContent" type="ViewpointContentType" minOccurs="0" maxOccurs="1" />
<xs:element name="allowedElementType" type="AllowedElementTypeType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="allowedRelationshipType" type="AllowedRelationshipTypeType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="modelingNote" type="ModelingNoteType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ModelingNoteType">
<xs:annotation>
<xs:documentation>
This is a set of notes to the modeler on how to use and model with this viewpoint. Could contain rules
or constraints. The part hold the information for this element.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="DocumentationGroup" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>
This attribute expresses a type for the notes, e.g. OCL for OCL rules.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="ConcernType">
<xs:annotation>
<xs:documentation>
document attribute holds all the concern information.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="LabelGroup" minOccurs="1" maxOccurs="unbounded" />
<xs:group ref="DocumentationGroup" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="stakeholders" type="StakeholdersType" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="StakeholdersType">
<xs:annotation>
<xs:documentation>
This is a container for all of the Stakeholders in the Concern.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="stakeholder" type="StakeholderType" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="StakeholderType">
<xs:sequence>
<xs:group ref="LabelGroup" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="AllowedElementTypeType">
<xs:attribute name="type" type="ElementEnumType" use="required" />
</xs:complexType>
<xs:complexType name="AllowedRelationshipTypeType">
<xs:attribute name="type" type="RelationshipTypeEnum" use="required" />
</xs:complexType>
<!-- =========================== Viewpoints ========================== -->
<xs:simpleType name="ViewpointsEnum">
<xs:annotation>
<xs:documentation>
Enumeration of Viewpoint types (informative).
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<!-- Basic Viewpoints -->
<!-- Category:Composition Viewpoints that defines internal compositions and aggregations of elements. -->
<xs:enumeration value="Organization" />
<xs:enumeration value="Application Platform" />
<xs:enumeration value="Information Structure" />
<xs:enumeration value="Technology" />
<xs:enumeration value="Layered" />
<xs:enumeration value="Physical" />
<!-- Category:Support Viewpoints where you are looking at elements that are supported by other elements. Typically from one layer and upwards to an above layer. -->
<xs:enumeration value="Product" />
<xs:enumeration value="Application Usage" />
<xs:enumeration value="Technology Usage" />
<!-- Category:Cooperation Towards peer elements which cooperate with each other. Typically across aspects. -->
<xs:enumeration value="Business Process Cooperation" />
<xs:enumeration value="Application Cooperation" />
<!-- Category:Realization Viewpoints where you are looking at elements that realize other elements. Typically from one layer and downwards to a below layer. -->
<xs:enumeration value="Service Realization" />
<xs:enumeration value="Implementation and Deployment" />
<xs:enumeration value="Goal Realization" />
<xs:enumeration value="Goal Contribution" />
<xs:enumeration value="Principles" />
<xs:enumeration value="Requirements Realization" />
<xs:enumeration value="Motivation" />
<!-- Strategy Viewpoints -->
<xs:enumeration value="Strategy" />
<xs:enumeration value="Capability Map" />
<xs:enumeration value="Outcome Realization" />
<xs:enumeration value="Resource Map" />
<!-- Implementation and Migration Viewpoints -->
<xs:enumeration value="Project" />
<xs:enumeration value="Migration" />
<xs:enumeration value="Implementation and Migration" />
<!-- Other Viewpoints -->
<xs:enumeration value="Stakeholder" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ViewpointTypeType">
<xs:union memberTypes="xs:string ViewpointsEnum" />
</xs:simpleType>
</xs:schema>
......@@ -1327,4 +1327,4 @@
</xs:restriction>
</xs:simpleType>
</xs:schema>
\ No newline at end of file
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.example.main</groupId>
<artifactId>EASmellsDetection</artifactId>
<version>1.0-SNAPSHOT</version>
<name>EA Smell Detection</name>
<properties>
<!-- Generic properties -->
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>copy-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target</outputDirectory>
<resources>
<resource>
<directory>${basedir}</directory>
<includes>
<include>CentralModel.xml</include>
<include>Test.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>