You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2018/07/11 21:54:42 UTC
[incubator-plc4x] 01/02: Merged changes from master
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/site-generation-fixes
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
commit f9bc17593c3056f92e3dfa91abef1862bb350491
Merge: bb9e8e7 7079cad
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Wed Jul 11 23:53:52 2018 +0200
Merged changes from master
.../java/org/apache/plc4x/camel/Plc4XConsumer.java | 33 +-
.../apache/plc4x/camel/Plc4XPollingConsumer.java | 2 +-
.../plc4x/camel/ResponseItemTypeConverter.java | 30 +-
.../services/org/apache/camel/TypeConverter | 19 ++
.../java/org/apache/plc4x/camel/ManualTest.java | 2 +-
.../java/org/apache/plc4x/camel/MockDriver.java | 57 ++--
.../plc4x/java/api/connection/PlcSubscriber.java | 24 +-
.../plc4x/java/api/messages/PlcNotification.java | 80 -----
.../java/api/messages/PlcProprietaryRequest.java | 23 ++
.../java/api/messages/PlcProprietaryResponse.java | 22 ++
.../apache/plc4x/java/api/messages/PlcRequest.java | 29 +-
.../java/api/messages/PlcRequestContainer.java | 32 ++
.../plc4x/java/api/messages/PlcResponse.java | 32 +-
.../java/api/messages/PlcSubscriptionEvent.java} | 26 +-
.../java/api/messages/PlcSubscriptionRequest.java} | 7 +-
.../api/messages/PlcSubscriptionResponse.java} | 19 +-
.../api/messages/PlcUnsubscriptionRequest.java | 54 ++++
.../api/messages/PlcUnsubscriptionResponse.java} | 4 +-
.../java/api/messages/items/ReadRequestItem.java | 54 +++-
.../java/api/messages/items/ReadResponseItem.java | 52 ++-
.../plc4x/java/api/messages/items/RequestItem.java | 58 +++-
.../java/api/messages/items/ResponseItem.java | 59 +++-
.../api/messages/items/SubscriptionEventItem.java} | 34 +-
...a => SubscriptionRequestChangeOfStateItem.java} | 19 +-
...tem.java => SubscriptionRequestCyclicItem.java} | 25 +-
...Item.java => SubscriptionRequestEventItem.java} | 11 +-
.../messages/items/SubscriptionRequestItem.java | 45 +++
.../messages/items/SubscriptionResponseItem.java} | 31 +-
.../messages/items/UnsubscriptionRequestItem.java | 62 ++++
.../items/UnsubscriptionResponseItem.java} | 27 +-
.../java/api/messages/items/WriteRequestItem.java | 56 +++-
.../java/api/messages/items/WriteResponseItem.java | 28 +-
.../messages/specific/TypeSafePlcReadRequest.java | 21 ++
.../messages/specific/TypeSafePlcWriteRequest.java | 21 ++
.../SubscriptionHandle.java} | 19 +-
.../plc4x/java/api/model/SubscriptionType.java} | 39 +--
plc4j/protocols/ads/pom.xml | 12 +
.../org/apache/plc4x/java/ads/AdsPlcDriver.java | 2 +-
.../api/commands/AdsDeviceNotificationRequest.java | 2 +-
.../java/ads/api/commands/AdsReadResponse.java | 17 +-
.../java/ads/api/commands/AdsReadWriteRequest.java | 2 +-
.../ads/api/commands/AdsReadWriteResponse.java | 2 +-
.../ads/api/commands/AdsWriteControlRequest.java | 2 +-
.../java/ads/api/commands/AdsWriteRequest.java | 2 +-
.../java/ads/api/commands/UnknownCommand.java | 11 +-
.../api/commands/types/AdsNotificationSample.java | 2 +-
.../java/ads/api/commands/types/AdsState.java | 2 +-
.../plc4x/java/ads/api/commands/types/Device.java | 27 +-
.../plc4x/java/ads/api/generic/AmsHeader.java | 34 +-
.../java/ads/api/serial/AmsSerialResetFrame.java | 13 +
.../java/ads/api/serial/types/FragmentNumber.java | 26 ++
.../java/ads/api/serial/types/ReceiverAddress.java | 26 ++
.../ads/api/serial/types/TransmitterAddress.java | 26 ++
.../java/ads/api/serial/types/UserDataLength.java | 23 ++
.../plc4x/java/ads/api/tcp/AmsTcpHeader.java | 2 +-
.../plc4x/java/ads/api/util/ByteReadable.java | 3 +-
.../java/ads/api/util/UnsignedIntLEByteValue.java | 11 +-
.../ads/api/util/UnsignedShortLEByteValue.java | 11 +-
.../ads/connection/AdsAbstractPlcConnection.java | 5 +
.../ads/connection/AdsSerialPlcConnection.java | 2 +
.../java/ads/connection/AdsTcpPlcConnection.java | 208 ++++++------
.../java/ads/model/AdsSubscriptionHandle.java} | 23 +-
.../java/ads/protocol/Ads2PayloadProtocol.java | 2 +
.../java/ads/protocol/Payload2SerialProtocol.java | 117 ++++---
.../java/ads/protocol/Payload2TcpProtocol.java | 6 +-
.../plc4x/java/ads/protocol/Plc4x2AdsProtocol.java | 19 +-
.../java/ads/protocol/exception/AdsException.java | 57 ++++
.../protocol/util/SingleMessageRateLimiter.java | 124 ++++++++
.../java/org/apache/plc4x/java/ads/AdsDumper.java | 2 +-
.../apache/plc4x/java/ads/AdsPlcDriverTest.java | 2 +-
.../apache/plc4x/java/ads/ManualPlc4XAdsTest.java | 32 +-
.../ads/adslib/ADSClientNotificationExample.java | 2 +
.../org/apache/plc4x/java/ads/adslib/AdsLib.java | 30 +-
.../apache/plc4x/java/ads/adslib/AmsRouter.java | 18 +-
.../commands/types/AdsNotificationSampleTest.java | 69 ++++
.../ads/api/commands/types/AdsStampHeaderTest.java | 90 ++++++
.../types/CommandTypesFactoryMethodTest.java | 11 +
.../java/ads/api/commands/types/DeviceTest.java} | 29 +-
.../java/ads/api/commands/types/LengthTest.java | 2 +-
.../ads/api/commands/types/ReadLengthTest.java | 2 +-
.../ads/api/commands/types/SampleSizeTest.java | 2 +-
.../java/ads/api/commands/types/SamplesTest.java | 2 +-
.../ads/api/commands/types/WriteLengthTest.java | 2 +-
.../ads/api/generic/GenericFactoryMethodTest.java | 6 +-
.../java/ads/api/generic/types/AmsPortTest.java | 11 +-
.../java/ads/api/generic/types/DataLengthTest.java | 2 +-
.../java/ads/api/generic/types/TcpLengthTest.java | 2 +-
.../SerialFactoryMethodTest.java} | 29 +-
.../types/GenericTypesFactoryMethodTest.java | 92 ++++++
.../TcpFactoryMethodTest.java} | 8 +-
.../tcp/types/GenericTypesFactoryMethodTest.java | 87 +++++
.../connection/AdsAbstractPlcConnectionTest.java | 2 +-
.../ads/connection/AdsConnectionFactoryTest.java | 2 +-
.../ads/connection/AdsSerialPlcConnectionTest.java | 197 +++++++++++-
.../ads/connection/AdsTcpPlcConnectionTests.java | 46 ++-
...load2SerialProtocolExampleConversationTest.java | 41 ++-
.../java/ads/protocol/util/DigestUtilTest.java | 2 +-
.../ads/protocol/util/LittleEndianDecoderTest.java | 2 +-
.../ads/protocol/util/LittleEndianEncoderTest.java | 4 +-
plc4j/protocols/driver-bases/test/pom.xml | 33 ++
.../java/base/connection/tcp}/TcpHexDumper.java | 2 +-
.../org/apache/plc4x/java/base}/util/Assert.java | 22 +-
.../plc4x/java/base}/util/Junit5Backport.java | 2 +-
plc4j/protocols/modbus/pom.xml | 76 ++++-
.../apache/plc4x/java/modbus/ModbusPlcDriver.java | 41 ++-
.../modbus/connection/BaseModbusPlcConnection.java | 49 +--
.../connection/ModbusConnectionFactory.java} | 32 +-
.../connection/ModbusSerialPlcConnection.java | 25 +-
.../modbus/connection/ModbusTcpPlcConnection.java | 36 ++-
.../java/modbus/model/CoilModbusAddress.java} | 32 +-
.../model/MaskWriteRegisterModbusAddress.java | 88 ++++++
.../plc4x/java/modbus/model/ModbusAddress.java | 42 ++-
.../model/ReadDiscreteInputsModbusAddress.java | 42 +++
.../model/ReadHoldingRegistersModbusAddress.java | 42 +++
.../model/ReadInputRegistersModbusAddress.java | 42 +++
.../java/modbus/model/RegisterModbusAddress.java | 43 +++
.../plc4x/java/modbus/netty/ModbusProtocol.java | 40 ---
.../java/modbus/netty/Plc4XModbusProtocol.java | 351 ++++++++++++++++++++-
.../plc4x/java/modbus/ManualPlc4XModbusTest.java} | 31 +-
.../plc4x/java/modbus/ModbusPlcDriverTest.java | 125 ++++++++
.../connection/BaseModbusPlcConnectionTest.java | 166 ++++++++++
.../connection/ModbusConnectionFactoryTest.java | 95 ++++++
.../connection/ModbusSerialPlcConnectionTest.java | 286 +++++++++++++++++
.../connection/ModbusTcpPlcConnectionTests.java | 134 ++++++++
.../java/modbus/netty/Plc4XModbusProtocolTest.java | 303 ++++++++++++++++++
.../modbus/src/test/resources/logback.xml | 38 +++
.../java/isotp/netty/model/types/DeviceGroup.java | 17 +-
.../isotp/netty/model/types/DisconnectReason.java | 17 +-
.../isotp/netty/model/types/ParameterCode.java | 17 +-
.../isotp/netty/model/types/ProtocolClass.java | 17 +-
.../java/isotp/netty/model/types/RejectCause.java | 17 +-
.../java/isotp/netty/model/types/TpduCode.java | 17 +-
.../java/isotp/netty/model/types/TpduSize.java | 17 +-
.../netty/model/types/DataTransportErrorCode.java | 17 +-
.../s7/netty/model/types/DataTransportSize.java | 17 +-
.../s7/netty/model/types/HeaderErrorClass.java | 17 +-
.../java/s7/netty/model/types/MemoryArea.java | 17 +-
.../java/s7/netty/model/types/MessageType.java | 17 +-
.../java/s7/netty/model/types/ParameterError.java | 17 +-
.../java/s7/netty/model/types/ParameterType.java | 17 +-
.../s7/netty/model/types/SpecificationType.java | 17 +-
.../java/s7/netty/model/types/TransportSize.java | 17 +-
.../netty/model/types/VariableAddressingMode.java | 17 +-
pom.xml | 159 +---------
src/site/asciidoc/developers/vpn.adoc | 7 +
src/site/asciidoc/protocols/s7/s7comm-plus.adoc | 3 +
src/site/resources/img/apache_incubator_logo.png | Bin 0 -> 13171 bytes
src/site/resources/img/apache_plc4x_logo_small.png | Bin 0 -> 18451 bytes
src/site/site.xml | 4 +-
utils/site-skin/pom.xml | 62 ++++
.../main/resources/META-INF/maven/site-macros.vm | 17 +-
.../src/main/resources/META-INF/maven/site.vm | 173 +++++++---
152 files changed, 4538 insertions(+), 1199 deletions(-)
diff --cc pom.xml
index 1ee8073,ab4629a..ec67aa0
--- a/pom.xml
+++ b/pom.xml
@@@ -317,8 -317,8 +317,11 @@@
<!-- Jenkins build related files -->
<exclude>.repository/**</exclude>
+ <!-- Data files created by examples running an embedded elasticsearch -->
+ <exclude>elasticsearch-data/**</exclude>
++
+ <!-- Exclude this for now -->
+ <exclude>utils/**</exclude>
</excludes>
</configuration>
</plugin>
@@@ -358,162 -358,163 +361,6 @@@
-->
<!--
-- The reflow maven skin used for the site-generation requires some static resources.
-- The following plugins configure the acquisition and location of these resources.
-- -->
- <!--plugin>
- <plugin>
-- <groupId>org.apache.maven.plugins</groupId>
-- <artifactId>maven-dependency-plugin</artifactId>
-- <executions>
-- <execution>
-- <id>unpack-js-deps</id>
-- <phase>pre-site</phase>
-- <goals>
-- <goal>unpack</goal>
-- </goals>
-- <configuration>
- <!-
- <!--
-- Bundle these dependencies in the war.
--
-- You must maintain the corresponding info if you
-- add/remove artifacts or change their versions:
-- - entry in src/main/webapp/META-INF/LICENSE
-- - entry in src/main/webapp/META-INF/NOTICE when appropriate
--
-- You must maintain the info in the corresponding
-- console/server files because it bundles this war.
--
-- You must maintain the info in this project's
-- corresponding platforms/java7 files.
- ->
- -->
-- <artifactItems>
-- <artifactItem>
-- <groupId>lt.velykis.maven.skins</groupId>
-- <artifactId>reflow-maven-skin</artifactId>
-- <version>1.1.1</version>
-- <excludes>META-INF/**</excludes>
-- <outputDirectory>${project.build.directory}/dependency/reflow-maven-skin-1.1.1/</outputDirectory>
-- </artifactItem>
-- <artifactItem>
-- <groupId>org.webjars</groupId>
-- <artifactId>bootstrap</artifactId>
-- <version>2.3.2</version>
-- <includes>META-INF/resources/webjars/**/*.min.*</includes>
-- <excludes>META-INF/resources/webjars/**/bootstrap.min.css</excludes>
-- </artifactItem>
-- <artifactItem>
-- <groupId>org.webjars</groupId>
-- <artifactId>jquery</artifactId>
-- <version>1.9.1</version>
-- <includes>META-INF/resources/webjars/**/jquery.min.js</includes>
-- </artifactItem>
-- </artifactItems>
-- </configuration>
-- </execution>
-- </executions>
- </plugin-->
- </plugin>
--
-- <!--
-- Replace the bootstrap css with the version of the theme
-- -->
- <!--lugin>
- <plugin>
-- <groupId>com.googlecode.maven-download-plugin</groupId>
-- <artifactId>download-maven-plugin</artifactId>
-- <version>1.4.0</version>
-- <executions>
-- <execution>
-- <id>get-flatly-bootstrap-theme</id>
-- <phase>pre-site</phase>
-- <goals>
-- <goal>wget</goal>
-- </goals>
-- <configuration>
-- <url>http://netdna.bootstrapcdn.com/bootswatch/2.3.2/flatly/bootstrap.min.css</url>
-- <outputDirectory>${project.build.directory}/dependency/META-INF/resources/webjars/bootstrap/2.3.2/css/
-- </outputDirectory>
-- <outputFileName>bootstrap.min.css</outputFileName>
-- </configuration>
-- </execution>
-- </executions>
- </plugin-->
- </plugin>
--
- <!--plugin>
- <plugin>
-- <groupId>org.apache.maven.plugins</groupId>
-- <artifactId>maven-resources-plugin</artifactId>
-- <executions>
-- <execution>
-- <id>copy-site-resources</id>
-- <phase>pre-site</phase>
-- <goals>
-- <goal>copy-resources</goal>
-- </goals>
-- <configuration>
-- <outputDirectory>${project.build.directory}/site</outputDirectory>
-- <resources>
-- <resource>
- <directory>${project.build.directory}/dependency/META-INF/resources/webjars/bootstrap/2.3.2</directory>
- <directory>${project.build.directory}/dependency/META-INF/resources/webjars/bootstrap/2.3.2
- </directory>
-- </resource>
-- <resource>
-- <directory>${project.build.directory}/dependency/META-INF/resources/webjars/jquery/1.9.1</directory>
-- <targetPath>${project.build.directory}/site/js</targetPath>
-- </resource>
-- </resources>
-- </configuration>
-- </execution>
-- </executions>
- </plugin-->
- </plugin>
--
-- <!--
-- When running asciidoctor as part of the site-generation there were great problems with
- the configuration of the diagram generation. Unfortunately when generating all content here,
- the configuration of the diagram generation. Unfortunatel when generating all content here,
-- the output will not have the site style. That's why here we generate the images to the
-- site directory and have the output written to an outside directory, so it will not interfere.
-- -->
- <!--plugin>
- <plugin>
-- <groupId>org.asciidoctor</groupId>
-- <artifactId>asciidoctor-maven-plugin</artifactId>
-- <version>1.5.6</version>
-- <executions>
-- <execution>
-- <id>generate-asciidoc</id>
-- <phase>site</phase>
-- <goals>
-- <goal>process-asciidoc</goal>
-- </goals>
-- <configuration>
-- <sourceDirectory>src/site/asciidoc</sourceDirectory>
-- <outputDirectory>${project.build.directory}/dump</outputDirectory>
-- <attributes>
-- <source-highlighter>prettify</source-highlighter>
- <!- Tells asciidoctor where to put the generated files ->
- <!-- Tells asciidoctor where to put the generated files -->
-- <imagesoutdir>${project.build.directory}/site/img</imagesoutdir>
-- </attributes>
-- <requires>
-- <require>asciidoctor-diagram</require>
-- </requires>
-- </configuration>
-- </execution>
-- </executions>
-- <dependencies>
-- <dependency>
-- <groupId>org.jruby</groupId>
-- <artifactId>jruby-complete</artifactId>
-- <version>9.1.13.0</version>
-- </dependency>
-- <dependency>
-- <groupId>org.asciidoctor</groupId>
-- <artifactId>asciidoctorj</artifactId>
-- <version>1.5.6</version>
-- </dependency>
-- <dependency>
-- <groupId>org.asciidoctor</groupId>
-- <artifactId>asciidoctorj-diagram</artifactId>
-- <version>1.5.4.1</version>
-- </dependency>
-- </dependencies>
- </plugin-->
- </plugin>
--
-- <!--
Make the maven-site-plugin stage the output in the "asf-site" branch
-->
<plugin>
diff --cc src/site/resources/img/apache_incubator_logo.png
index 0000000,0000000..b741661
new file mode 100644
Binary files differ
diff --cc src/site/resources/img/apache_plc4x_logo_small.png
index 0000000,0000000..539d80d
new file mode 100644
Binary files differ
diff --cc src/site/site.xml
index b22e8f9,1b071c0..73668a5
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@@ -74,13 -74,13 +74,13 @@@
<bannerLeft>
<name>Apache PLC4X (incubating)</name>
-- <src>https://plc4x.apache.org/img/apache_plc4x_logo.png</src>
++ <src>/img/apache_plc4x_logo_small.png</src>
<href>https://plc4x.apache.org/</href>
</bannerLeft>
<bannerRight>
<name>Apache Incubator</name>
-- <src>https://incubator.apache.org/images/incubator_feather_egg_logo_sm.png</src>
++ <src>/img/apache_incubator_logo.png</src>
<href>http://incubator.apache.org/</href>
</bannerRight>
diff --cc utils/site-skin/pom.xml
index 5f5fb71,0000000..7f9f550
mode 100644,000000..100644
--- a/utils/site-skin/pom.xml
+++ b/utils/site-skin/pom.xml
@@@ -1,183 -1,0 +1,245 @@@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>19</version>
+ </parent>
+
+ <groupId>org.apache.plc4x.utils</groupId>
+ <artifactId>plc4x-site-skin</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>plc4x-site-skin</name>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+ <!-- properties used in the integration-test -->
+ <sitePluginVersion>3.7.1</sitePluginVersion>
+ <mpirVersion>2.9</mpirVersion>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <configuration>
+ <delimiters>
+ <delimiter>@</delimiter>
+ </delimiters>
+ <useDefaultDelimiters>false</useDefaultDelimiters>
+ </configuration>
+ </plugin>
++
++ <!--
++ Download the Material Design Light package and unpack it.
++ -->
++ <plugin>
++ <groupId>com.googlecode.maven-download-plugin</groupId>
++ <artifactId>download-maven-plugin</artifactId>
++ <version>1.4.0</version>
++ <executions>
++ <execution>
++ <id>get-mdl-zip</id>
++ <phase>generate-resources</phase>
++ <goals>
++ <goal>wget</goal>
++ </goals>
++ <configuration>
++ <url>https://code.getmdl.io/1.3.0/mdl.zip</url>
++ <outputDirectory>
++ ${project.build.directory}/dependency/mdl
++ </outputDirectory>
++ <unpack>true</unpack>
++ </configuration>
++ </execution>
++ </executions>
++ </plugin>
++
++ <!--
++ Copy the MDL files to the site directory.
++ -->
++ <plugin>
++ <groupId>org.apache.maven.plugins</groupId>
++ <artifactId>maven-resources-plugin</artifactId>
++ <executions>
++ <execution>
++ <id>copy-mdl-site-resources</id>
++ <phase>process-resources</phase>
++ <goals>
++ <goal>copy-resources</goal>
++ </goals>
++ <configuration>
++ <outputDirectory>${project.build.directory}/site</outputDirectory>
++ <resources>
++ <resource>
++ <directory>${project.build.directory}/dependency/mdl</directory>
++ <includes>
++ <include>**.css</include>
++ </includes>
++ <targetPath>${project.build.outputDirectory}/css</targetPath>
++ </resource>
++ <resource>
++ <directory>${project.build.directory}/dependency/mdl</directory>
++ <includes>
++ <include>**.js</include>
++ </includes>
++ <targetPath>${project.build.outputDirectory}/js</targetPath>
++ </resource>
++ </resources>
++ </configuration>
++ </execution>
++ </executions>
++ </plugin>
++
+ </plugins>
+ <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
+ <plugins>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>3.0.0</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>3.7.1</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-invoker-plugin</artifactId>
+ <version>3.0.1</version>
+ </plugin>
+ <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>3.0.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.7.0</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.20.1</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.0.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.5.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.8.2</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <profiles>
+ <profile>
+ <id>run-its</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-invoker-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>integration-test</id>
+ <goals>
+ <goal>install</goal>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <debug>true</debug>
+ <projectsDirectory>src/it</projectsDirectory>
+ <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
+ <preBuildHookScript>setup</preBuildHookScript>
+ <postBuildHookScript>verify</postBuildHookScript>
+ <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
+ <settingsFile>src/it/settings.xml</settingsFile>
+ <pomIncludes>
+ <pomInclude>*/pom.xml</pomInclude>
+ </pomIncludes>
+ <goals>
+ <goal>site</goal>
+ </goals>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>minify</id>
+ <build>
+ <resources>
+ <!-- exclude css and js since will include the minified version -->
+ <resource>
+ <directory>${basedir}/src/main/resources</directory>
+ <excludes>
+ <exclude>css/**</exclude>
+ <exclude>js/**</exclude>
+ </excludes>
+ <filtering>true</filtering> <!-- add skin-info -->
+ </resource>
+
+ <!-- include the print.css -->
+ <resource>
+ <directory>/home/herve/projets/maven/git/aggregator/archetypes/target/checkout/maven-archetype-site-skin/src/main/resources</directory>
+ <includes>
+ <include>css/print.css</include>
+ </includes>
+ </resource>
+
+ <!-- include minified only -->
+ <resource>
+ <directory>${project.build.directory}/${project.build.finalName}</directory>
+ <includes>
+ <include>css/plc4x-site-skin-${project.version}.min.css</include>
+ <include>js/plc4x-site-skin-${project.version}.min.js</include>
+ </includes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>com.samaxes.maven</groupId>
+ <artifactId>maven-minify-plugin</artifactId>
+ <version>1.3.5</version>
+ <executions>
+ <execution>
+ <id>default-minify</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>minify</goal>
+ </goals>
+ <configuration>
+ <webappSourceDir>${basedir}/src/main/resources</webappSourceDir>
+ <cssSourceDir>css</cssSourceDir>
+ <cssSourceFiles>
+ <cssSourceFile>maven-base.css</cssSourceFile>
+ <cssSourceFile>maven-theme.css</cssSourceFile>
+ </cssSourceFiles>
+ <cssFinalFile>plc4x-site-skin-${project.version}.css</cssFinalFile>
+ <!--jsSourceDir>js</jsSourceDir>
+ <jsSourceFiles>
+ <jsSourceFile>fluido.js</jsSourceFile>
+ </jsSourceFiles>
+ <jsFinalFile>plc4x-site-skin-${project.version}.js</jsFinalFile-->
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --cc utils/site-skin/src/main/resources/META-INF/maven/site-macros.vm
index 1a8140d,0000000..386bb8a
mode 100644,000000..100644
--- a/utils/site-skin/src/main/resources/META-INF/maven/site-macros.vm
+++ b/utils/site-skin/src/main/resources/META-INF/maven/site-macros.vm
@@@ -1,474 -1,0 +1,475 @@@
+#macro ( link $href $name $target $img $position $alt $border $width $height $title )
+#**##set ( $linkTitle = ' title="' + $name + '"' )
+#**##if( $target )
+#* *##set ( $linkTarget = ' target="' + $target + '"' )
+#**##else
+#* *##set ( $linkTarget = "" )
+#**##end
+#**##if ( $decoration.isLink( $href ) )
+#* *##set ( $linkClass = ' class="externalLink"' )
+#**##else
+#* *##set ( $linkClass = "" )
+#**##end
+#**##if ( $img )
+#* *##if ( $position == "left" )
+#* *#<a href="$href"$linkClass$linkTarget$linkTitle>#image($img $alt $border $width $height $title)$name</a>##
+#* *##else
+#* *#<a href="$href"$linkClass$linkTarget$linkTitle>$name #image($img $alt $border $width $height $title)</a>##
+#* *##end
+#**##else
+#* *#<a href="$href"$linkClass$linkTarget$linkTitle>$name</a>##
+#**##end
+#end
+##
+#macro ( image $img $alt $border $width $height $title )
+#**##if( $img )
+#* *##if ( !$decoration.isLink( $img ) )
+#* *##set ( $imgSrc = $PathTool.calculateLink( $img, $relativePath ) )
+#* *##set ( $imgSrc = $imgSrc.replaceAll( '\\', '/' ) )
+#* *##set ( $imgSrc = ' src="' + $imgSrc + '"' )
+#* *##else
+#* *##set ( $imgSrc = ' src="' + $img + '"' )
+#* *##end
+#* *##if( $alt )
+#* *##set ( $imgAlt = ' alt="' + $alt + '"' )
+#* *##else
+#* *##set ( $imgAlt = ' alt=""' )
+#* *##end
+#* *##if( $border )
+#* *##set ( $imgBorder = ' border="' + $border + '"' )
+#* *##else
+#* *##set ( $imgBorder = "" )
+#* *##end
+#* *##if( $width )
+#* *##set ( $imgWidth = ' width="' + $width + '"' )
+#* *##else
+#* *##set ( $imgWidth = "" )
+#* *##end
+#* *##if( $height )
+#* *##set ( $imgHeight = ' height="' + $height + '"' )
+#* *##else
+#* *##set ( $imgHeight = "" )
+#* *##end
+#* *##if( $title )
+#* *##set ( $imgTitle = ' title="' + $title + '"' )
+#* *##else
+#* *##set ( $imgTitle = "" )
+#* *##end
+#* *#<img class="imageLink"$imgSrc$imgAlt$imgBorder$imgWidth$imgHeight$imgTitle/>##
+#**##end
+#end
+##
+#macro ( banner $banner $id )
+#**##if ( $banner )
+#* *##if( $banner.href )
+#* *##set ( $hrf = $banner.href )
+#* *##if ( !$decoration.isLink( $hrf ) )
+#* *##set ( $hrf = $PathTool.calculateLink( $hrf, $relativePath ) )
+#* *##set ( $hrf = $hrf.replaceAll( '\\', '/' ) )
+#* *##if ( ( $hrf == '' ) )
+#* *##set ( $hrf = './' )
+#* *##end
+#* *##end
+#* *#<a href="$hrf" id="$id"#if( $banner.alt ) title="$banner.alt"#end>##
+#* *##else
+#* *#<div id="$id">
+#* *##end
+##
+#* *##if( $banner.src )
+#* *##set ( $src = $banner.src )
+#* *##if ( !$decoration.isLink( $src ) )
+#* *##set ( $src = $PathTool.calculateLink( $src, $relativePath ) )
+#* *##set ( $src = $src.replaceAll( '\\', '/' ) )
+#* *##end
+#* *##if ( $banner.alt )
+#* *##set ( $alt = ' alt="' + $banner.alt + '"' )
+#* *##elseif ( $banner.name )
+#* *##set ( $alt = ' alt="' + $banner.name + '"' )
+#* *##else
+#* *##set ( $alt = ' alt=""' )
+#* *##end
+#* *##if( $banner.border )
+#* *##set ( $imgBorder = ' border="' + $banner.border + '"' )
+#* *##else
+#* *##set ( $imgBorder = "" )
+#* *##end
+#* *##if( $banner.width )
+#* *##set ( $imgWidth = ' width="' + $banner.width + '"' )
+#* *##else
+#* *##set ( $imgWidth = "" )
+#* *##end
+#* *##if( $banner.height )
+#* *##set ( $imgHeight = ' height="' + $banner.height + '"' )
+#* *##else
+#* *##set ( $imgHeight = "" )
+#* *##end
+#* *##if( $banner.title )
+#* *##set ( $bannerTitle=' title="' + $banner.title + '"' )
+#* *##else
+#* *##set ( $bannerTitle="" )
+#* *##end
+#* *#<img src="$src" $alt$bannerTitle$imgBorder$imgWidth$imgHeight/>##
+#* *##else
+#* *#$banner.name
+#* *##end
+##
+#* *##if( $banner.href )
+#* *#</a>
+#* *##else
+#* *#</div>
+#* *##end
+#**##end
+#end
+##
+#macro ( links $links )
+#**##set ( $counter = 0 )
+#**##foreach( $item in $links )
+#* *##set ( $counter = $counter + 1 )
+#* *##set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+#* *##set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+#* *##link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height $item.title )
+#* *##if ( $links.size() > $counter )
+#* *# |
+#* *##end
+#**##end
+#end
+##
+#macro ( breadcrumbs $breadcrumbs )
+#**##foreach( $item in $breadcrumbs )
+#* *##set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+#* *##set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+#* *##if ( ( $currentItemHref == '' ) )
+#* *##set ( $currentItemHref = './' )
+#* *##end
+##
+#* *##link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height $item.title )
+#**# >
+#**##end
+#**#$shortTitle
+#**##if( $decoration.edit && $docRenderingContext.editable )
+#* *# <a href="$docRenderingContext.getDoxiaSourcePath( $decoration.edit )">[edit]</a>
+#**##end
+#end
+##
+#macro ( displayTree $display $item )
+#**##if ( $item && $item.items && $item.items.size() > 0 )
+#* *##foreach( $subitem in $item.items )
+#* *##set ( $subitemHref = $PathTool.calculateLink( $subitem.href, $relativePath ) )
+#* *##set ( $subitemHref = $subitemHref.replaceAll( '\\', '/' ) )
+##
+#* *##if ( $alignedFileName == $subitemHref )
+#* *##set ( $display = true )
+#* *##end
+##
+#* *##displayTree( $display $subitem )
+#* *##end
+#**##end
+#end
+##
+#macro ( menuItem $item )
+#**##set ( $collapse = "none" )
+#**##set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+#**##set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+##
+#**##if ( $item && $item.items && $item.items.size() > 0 )
+#* *##if ( $item.collapse == false )
+#* *##set ( $collapse = "expanded" )
+#* *##else
+#* *### By default collapsed
+#* *##set ( $collapse = "collapsed" )
+#* *##end
+##
+#* *##set ( $display = false )
+#* *##displayTree( $display $item )
+##
+#* *##if ( $alignedFileName == $currentItemHref || $display )
+#* *##set ( $collapse = "expanded" )
+#* *##end
+#**##end
+ <li class="$collapse">##
+#**##if ( $item.img )
+#* *##if ( $item.position == "left" )
+#* *##if ( $alignedFileName == $currentItemHref )
+#* *#<strong>#image($item.img $item.alt $item.border $item.width $item.height $item.title) $item.name</strong>
+#* *##else
+#* *##link($currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height $item.title)
+#* *##end
+#* *##else
+#* *##if ( $alignedFileName == $currentItemHref )
+#* *#<strong>$item.name #image($item.img $item.alt $item.border $item.width $item.height $item.title)</strong>
+#* *##else
+#* *##link($currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height $item.title)
+#* *##end
+#* *##end
+#**##else
+#* *##if ( $alignedFileName == $currentItemHref )
+#* *#<strong>$item.name</strong>
+#* *##else
+#* *##link( $currentItemHref $item.name $item.target $item.img $item.position $item.alt $item.border $item.width $item.height $item.title )
+#* *##end
+#**##end
+#**##if ( $item && $item.items && $item.items.size() > 0 )
+#* *##if ( $collapse == "expanded" )
+ <ul>
+#* *##foreach( $subitem in $item.items )
+#* *##menuItem( $subitem )
+#* *##end
+ </ul>
+#* *##end
+#**##end
+ </li>
+#end
+##
+#macro ( mainMenu $menus )
+#**##foreach( $menu in $menus )
+#* *##if ( $menu.name )
+#* *##if ( $menu.img )
+#* *##if( $menu.position )
+#* *##set ( $position = $menu.position )
+#* *##else
+#* *##set ( $position = "left" )
+#* *##end
+##
+#* *##if ( !$decoration.isLink( $menu.img ) )
+#* *##set ( $src = $PathTool.calculateLink( $menu.img, $relativePath ) )
+#* *##set ( $src = $src.replaceAll( '\\', '/' ) )
+#* *##set ( $src = ' src="' + $src + '"' )
+#* *##else
+#* *##set ( $src = ' src="' + $menu.img + '"' )
+#* *##end
+##
+#* *##if( $menu.alt )
+#* *##set ( $alt = ' alt="' + $menu.alt + '"' )
+#* *##else
+#* *##set ( $alt = ' alt="' + $menu.name + '"' )
+#* *##end
+##
+#* *##if( $menu.border )
+#* *##set ( $border = ' border="' + $menu.border + '"' )
+#* *##else
+#* *##set ( $border = ' border="0"' )
+#* *##end
+##
+#* *##if( $menu.width )
+#* *##set ( $width = ' width="' + $menu.width + '"' )
+#* *##else
+#* *##set ( $width = "" )
+#* *##end
+#* *##if( $menu.height )
+#* *##set ( $height = ' height="' + $menu.height + '"' )
+#* *##else
+#* *##set ( $height = "" )
+#* *##end
+#* *##if( $menu.title )
+#* *##set ( $title = ' title="' + $menu.title + '"' )
+#* *##else
+#* *##set ( $title = "" )
+#* *##end
+##
+#* *##set ( $img = '<img class="imageLink"' + $src + $alt + $border + $width + $height + $title + "/>" )
+##
+#* *##if ( $position == "left" )
- <h5>$img $menu.name</h5>
++ <a id="$menu.name.toLowerCase().replaceAll('[^a-z0-9]', '_')" class="plc4x-navigation__link plc4-navigation__link_$menu.name.toLowerCase().replaceAll('[^a-z0-9]', '_') mdl-navigation__link mdl-typography--text-uppercase" href="#">$img $menu.name</a>
+#* *##else
- <h5>$menu.name $img</h5>
++ <a id="$menu.name.toLowerCase().replaceAll('[^a-z0-9]', '_')" class="plc4x-navigation__link plc4-navigation__link_$menu.name.toLowerCase().replaceAll('[^a-z0-9]', '_') mdl-navigation__link mdl-typography--text-uppercase" href="#">$menu.name $img</a>
+#* *##end
+#* *##else
- <h5>$menu.name</h5>
++ <a id="$menu.name.toLowerCase().replaceAll('[^a-z0-9]', '_')" class="plc4x-navigation__link plc4-navigation__link_$menu.name.toLowerCase().replaceAll('[^a-z0-9]', '_') mdl-navigation__link mdl-typography--text-uppercase" href="#">$menu.name</a>
+#* *##end
+#* *##end
+#* *##if ( $menu.items && $menu.items.size() > 0 )
- <ul>
- #* *##foreach( $item in $menu.items )
- #* *##menuItem( $item )
- #* *##end
- </ul>
++ <ul class="plc4x-menu mdl-menu mdl-menu--bottom-left mdl-js-menu mdl-js-ripple-effect"
++ for="$menu.name.toLowerCase().replaceAll('[^a-z0-9]', '_')">
++ #* *##foreach( $item in $menu.items )
++ #* *##menuItem( $item )
++ #* *##end
++ </ul>
+#* *##end
+#**##end
+#end
+##
+#macro ( copyright )
+#**##if ( $project )
+#* *##if ( ${project.organization} && ${project.organization.name} )
+#* *##set ( $period = "" )
+#* *##else
+#* *##set ( $period = "." )
+#* *##end
+##
+#* *##set ( $currentYear = ${currentDate.year} + 1900 )
+##
+#* *##if ( ${project.inceptionYear} && ( ${project.inceptionYear} != ${currentYear.toString()} ) )
+ ${project.inceptionYear}–${currentYear}${period}##
+#* *##else
+ ${currentYear}${period}##
+#* *##end
+##
+#* *##if ( ${project.organization} )
+#* *##if ( ${project.organization.name} && ${project.organization.url} )
+#* *# <a href="$project.organization.url">${project.organization.name}</a>.
+#* *##elseif ( ${project.organization.name} )
+#* *#${project.organization.name}.
+#* *##end
+#* *##end
+#**##end
+#end
+##
+#macro ( publishDate $position $decorationPublishDate $version )
+#**##if ( $publishDate )
+#* *##set ( $dateValue = $dateFormat.format( $publishDate ) )
+#**##elseif ( $decoration.custom.getChild( 'publishDate' ) )
+#* *##set ( $dateValue = $decoration.custom.getChild( 'publishDate' ).getValue() )
+#**##else
+#* *##set ( $dateValue = $dateFormat.format( $currentDate ) )
+#**##end
+##
+#**##set ( $datePosition = $decorationPublishDate.position )
+#**##set ( $versionPosition = $version.position )
+##
+#**##set ( $breadcrumbs = $decoration.body.breadcrumbs )
+#**##set ( $links = $decoration.body.links )
+##
+#**##if ( $datePosition.equalsIgnoreCase( "right" ) && $links && $links.size() > 0 )
+#* *##set ( $prefix = " |" )
+#**##else
+#* *##set ( $prefix = "" )
+#**##end
+##
+#**##if ( $datePosition.equalsIgnoreCase( $position ) )
+#* *##if ( ( $datePosition.equalsIgnoreCase( "right" ) ) || ( $datePosition.equalsIgnoreCase( "bottom" ) ) )
+ $prefix <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateValue</span>
+#* *##if ( $versionPosition.equalsIgnoreCase( $position ) )
+ | <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
+#* *##end
+#* *##elseif ( ( $datePosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $datePosition.equalsIgnoreCase( "navigation-top" ) ) )
+ <div id="lastPublished">
+ <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateValue</span>
+#* *##if ( $versionPosition.equalsIgnoreCase( $position ) )
+ | <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
+#* *##end
+ </div>
+#* *##elseif ( $datePosition.equalsIgnoreCase( "left" ) )
+ <div class="xleft">
+ <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateValue</span>
+#* *##if ( $versionPosition.equalsIgnoreCase( $position ) )
+ | <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
+#* *##end
+#* *##if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+ | #breadcrumbs( $breadcrumbs )
+#* *##end
+ </div>
+#* *##end
+#**##elseif ( $versionPosition.equalsIgnoreCase( $position ) )
+#* *##if ( ( $versionPosition.equalsIgnoreCase( "right" ) ) || ( $versionPosition.equalsIgnoreCase( "bottom" ) ) )
+ $prefix <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
+#* *##elseif ( ( $versionPosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $versionPosition.equalsIgnoreCase( "navigation-top" ) ) )
+ <div id="lastPublished">
+ <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
+ </div>
+#* *##elseif ( $versionPosition.equalsIgnoreCase( "left" ) )
+ <div class="xleft">
+ <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
+#* *##if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+ | #breadcrumbs( $breadcrumbs )
+#* *##end
+ </div>
+#* *##end
+#**##elseif ( $position.equalsIgnoreCase( "left" ) )
+#* *##if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+ <div class="xleft">
+#* *##breadcrumbs( $breadcrumbs )
+ </div>
+#* *##end
+#**##end
+#end
+##
+#macro ( poweredByLogo $poweredBy )
+#**##if( $poweredBy )
+#* *##foreach ($item in $poweredBy)
+#* *##if( $item.href )
+#* *##set ( $href = $PathTool.calculateLink( $item.href, $relativePath ) )
+#* *##set ( $href = $href.replaceAll( '\\', '/' ) )
+#* *##else
+#* *##set ( $href="http://maven.apache.org/" )
+#* *##end
+##
+#* *##if( $item.name )
+#* *##set ( $name = $item.name )
+#* *##else
+#* *##set ( $name = $i18n.getString( "site-renderer", $locale, "template.builtby" ) )
+#* *##set ( $name = "${name} Maven" )
+#* *##end
+##
+#* *##if( $item.img )
+#* *##set ( $img = $item.img )
+#* *##else
+#* *##set ( $img = "images/logos/maven-feather.png" )
+#* *##end
+##
+#* *##if ( !$decoration.isLink( $img ) )
+#* *##set ( $img = $PathTool.calculateLink( $img, $relativePath ) )
+#* *##set ( $img = $img.replaceAll( '\\', '/' ) )
+#* *##end
+##
+#* *##if( $item.alt )
+#* *##set ( $alt = ' alt="' + $item.alt + '"' )
+#* *##else
+#* *##set ( $alt = ' alt="' + $name + '"' )
+#* *##end
+##
+#* *##if( $item.border )
+#* *##set ( $border = ' border="' + $item.border + '"' )
+#* *##else
+#* *##set ( $border = "" )
+#* *##end
+##
+#* *##if( $item.width )
+#* *##set ( $width = ' width="' + $item.width + '"' )
+#* *##else
+#* *##set ( $width = "" )
+#* *##end
+#* *##if( $item.height )
+#* *##set ( $height = ' height="' + $item.height + '"' )
+#* *##else
+#* *##set ( $height = "" )
+#* *##end
+#* *##if( $item.title )
+#* *##set ( $title = ' title="' + $item.title + '"' )
+#* *##else
+#* *##set ( $title = "" )
+#* *##end
+##
+ <a href="$href" title="$name" class="poweredBy">
+ <img class="poweredBy" $alt src="$img" $border $width $height $title />
+ </a>
+#* *##end
+#* *##if( $poweredBy.isEmpty() )
+ <a href="http://maven.apache.org/" title="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" class="poweredBy">
+ <img class="poweredBy" alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/logos/maven-feather.png" />
+ </a>
+#* *##end
+#**##else
+ <a href="http://maven.apache.org/" title="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" class="poweredBy">
+ <img class="poweredBy" alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/logos/maven-feather.png" />
+ </a>
+#**##end
+#end
+##
+#macro ( googleAnalytics $accountId )
+#**##if( $accountId && $accountId != "" )
+ <!-- Google Analytics -->
+ <script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', '$accountId']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+
+ </script>
+#**##end
+#end
diff --cc utils/site-skin/src/main/resources/META-INF/maven/site.vm
index 64c98ad,0000000..214d6f4
mode 100644,000000..100644
--- a/utils/site-skin/src/main/resources/META-INF/maven/site.vm
+++ b/utils/site-skin/src/main/resources/META-INF/maven/site.vm
@@@ -1,80 -1,0 +1,163 @@@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+#parse( "site-macros.vm" )
+<!-- Generated by Apache Maven Doxia Site Renderer#if( $doxiaSiteRendererVersion ) $doxiaSiteRendererVersion#end##
+#if( $docRenderingContext.generator || $docRenderingContext.doxiaSource ) from##
+#if( $docRenderingContext.generator ) $docRenderingContext.generator#end##
+#if( $docRenderingContext.doxiaSource ) $docRenderingContext.doxiaSourcePath#end##
+#end
+ at $dateFormat.format( $currentDate ) -->
+<html xmlns="http://www.w3.org/1999/xhtml"#if ( $locale ) xml:lang="$locale.language" lang="$locale.language"#end>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=${outputEncoding}" />
+ <title>$title</title>
+ <style type="text/css" media="all">
- @import url("$relativePath/css/maven-base.css");
++ @import url("$relativePath/css/material.min.css");
++ /*@import url("$relativePath/css/maven-base.css");
+ @import url("$relativePath/css/maven-theme.css");
- @import url("$relativePath/css/site.css");
++ @import url("$relativePath/css/site.css");*/
+ </style>
++ <script src="$relativePath/js/material.min.js"></script>
++ <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/ >
+ <link rel="stylesheet" href="$relativePath/css/print.css" type="text/css" media="print" />
+#foreach( $author in $authors )
+ <meta name="author" content="$author" />
+#end
+#if ( $documentDate )
+ <meta name="date" content="$documentDate" />
+#end
+#if ( $locale )
+ <meta http-equiv="Content-Language" content="$locale.language" />
+#end
+#if( $decoration.body.head )
+#**#$render.eval( $decoration.body.head )
+#end
+ $headContent
+#**##googleAnalytics( $decoration.googleAnalyticsAccountId )
+ </head>
+ <body class="composite">
- <div id="banner">
- #* *##banner( $decoration.bannerLeft "bannerLeft" )
- #* *##banner( $decoration.bannerRight "bannerRight" )
- <div class="clear">
- <hr/>
- </div>
- </div>
- <div id="breadcrumbs">
- #* *##publishDate( "left" $decoration.publishDate $decoration.version )
- <div class="xright">#links( $decoration.body.links )
- #* *##publishDate( "right" $decoration.publishDate $decoration.version )
- </div>
- <div class="clear">
- <hr/>
- </div>
- </div>
- <div id="leftColumn">
- <div id="navcolumn">
- #* *##publishDate( "navigation-top" $decoration.publishDate $decoration.version )
- #* *##mainMenu( $decoration.body.menus )
- #* *##poweredByLogo( $decoration.poweredBy )
- #* *##publishDate( "navigation-bottom" $decoration.publishDate $decoration.version )
- </div>
- </div>
- <div id="bodyColumn">
- <div id="contentBox">
- #* *#$bodyContent
- </div>
- </div>
- <div class="clear">
- <hr/>
- </div>
- <div id="footer">
- <div class="xright">
- #* *##if( $decoration.body.footer )
- $render.eval( $decoration.body.footer )
- #* *##else
- Copyright ©#copyright()All rights reserved.#publishDate( "bottom" $decoration.publishDate $decoration.version )
- #* *##end
- </div>
- <div class="clear">
- <hr/>
- </div>
++ <style>
++ .plc4x-layout-transparent {
++ background-color: #2E2E2E;
++ background-image: url(logo.png);
++ background-size: auto 32px;
++ }
++
++ .plc4x-layout-transparent .mdl-layout__header,
++ .plc4x-layout-transparent .mdl-layout__drawer-button {
++ color: white;
++ }
++
++ .plc4x-layout-header{
++ position: relative;
++ box-sizing: border-box;
++ height: 144px;
++ background-position: 40px 32px;
++ }
++
++ .plc4x-layout__header-row {
++ height: 100px;
++ padding: 0 20px 0 20px;
++ }
++
++ .plc4x-navigation__container {
++ position: absolute;
++ height: 64px;
++ width: 100%;
++ bottom: 0;
++ left: 0;
++ }
++
++ .plc4x-navigation__link {
++ opacity: .65;
++ line-height: 64px;
++ padding: 0 16px;
++ color: #ffffff;
++ box-sizing: border-box;
++ border-bottom: 3px solid transparent;
++ }
++
++ .plc4x-navigation__link:hover {
++ opacity: 1;
++ }
++
++ .plc4-navigation__link_reports {
++ padding: 0 16px 0 60px;
++ }
++
++ .plc4x-layout__content {
++ background-color: #FFFFFF;
++ }
++
++ .plc4x-menu {
++ opacity: 1;
++ background-color: #FFFFFF;
++ }
++
++ .plc4x-footer {
++ opacity: .65;
++ color: #FFFFFF;
++ }
++
++ </style>
++ <div class="plc4x-layout-transparent mdl-layout mdl-js-layout">
++ <header class="plc4x-layout-header mdl-layout__header mdl-layout__header--transparent">
++ <div class="plc4x-layout__header-row mdl-layout__header-row">
++ <span class="mdl-layout-title">
++ #* *##banner( $decoration.bannerLeft "bannerLeft" )
++ </span>
++ <div class="mdl-layout-spacer"></div>
++ <span class="mdl-layout-title">
++ #* *##banner( $decoration.bannerRight "bannerRight" )
++ </span>
++ </div>
++ <div class="plc4x-navigation__container">
++ <!-- Title -->
++ <!-- Add spacer, to align navigation to the right -->
++ <div class="mdl-layout-spacer"></div>
++ <!-- Navigation -->
++ <nav class="plc4x-navigation mdl-navigation">
++ #* *##mainMenu( $decoration.body.menus )
++ <div class="spacer"></div>
++ </nav>
++ <i class="material-icons scrollindicator scrollindicator--right"></i>
++ <i class="material-icons scrollindicator scrollindicator--left"></i>
++ </div>
++ </header>
++ <main class="plc4x-layout__content mdl-layout__content">
++ <div id="breadcrumbs">
++ #* *##publishDate( "left" $decoration.publishDate $decoration.version )
++ <div class="xright">#links( $decoration.body.links )
++ #* *##publishDate( "right" $decoration.publishDate $decoration.version )
++ </div>
++ <div class="clear">
++ <hr/>
++ </div>
++ </div>
++ <div id="leftColumn">
++ <div id="navcolumn">
++ #* *##publishDate( "navigation-top" $decoration.publishDate $decoration.version )
++ #* *##poweredByLogo( $decoration.poweredBy )
++ #* *##publishDate( "navigation-bottom" $decoration.publishDate $decoration.version )
++ </div>
++ </div>
++ <div id="bodyColumn">
++ <div id="contentBox">
++ #* *#$bodyContent
++ </div>
++ </div>
++ <div class="clear">
++ <hr/>
++ </div>
++ </main>
++ <footer class="plc4x-footer">
++ <div class="xright">
++ #* *##if( $decoration.body.footer )
++ $render.eval( $decoration.body.footer )
++ #* *##else
++ Copyright ©#copyright()All rights reserved.#publishDate( "bottom" $decoration.publishDate $decoration.version )
++ #* *##end
++ </div>
++ </footer>
+ </div>
+ </body>
+</html>