Replace JRebel with HotSwapAgent
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/5d024261 Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/5d024261 Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/5d024261 Branch: refs/heads/2_1_X Commit: 5d02426115813c12a853b19e736db2df8a71b23f Parents: 55acace Author: Francesco Chicchiriccò <[email protected]> Authored: Fri Jul 13 14:18:51 2018 +0200 Committer: Francesco Chicchiriccò <[email protected]> Committed: Fri Jul 13 14:28:30 2018 +0200 ---------------------------------------------------------------------- .gitignore | 2 +- .../syncope/client/console/pages/Reports.html | 2 +- fit/console-reference/pom.xml | 26 ++-- .../src/test/resources/hotswap-agent.properties | 33 +++++ .../src/test/resources/rebel.xml | 70 ---------- fit/core-reference/pom.xml | 23 +++- .../src/test/resources/hotswap-agent.properties | 70 ++++++++++ fit/core-reference/src/test/resources/rebel.xml | 134 ------------------- fit/enduser-reference/pom.xml | 29 ++-- .../src/test/resources/hotswap-agent.properties | 33 +++++ .../src/test/resources/rebel.xml | 58 -------- pom.xml | 8 ++ src/site/xdoc/building.xml | 34 ++--- 13 files changed, 218 insertions(+), 304 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/.gitignore ---------------------------------------------------------------------- diff --git a/.gitignore b/.gitignore index e21571f..3388d02 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,4 @@ ide/eclipse/bundles/org.apache.syncope.ide.eclipse.plugin/bin/ ide/eclipse/bundles/org.apache.syncope.ide.eclipse.plugin/lib/ ide/eclipse/bundles/org.apache.syncope.ide.eclipse.tests/bin/ ide/eclipse/bundles/org.apache.syncope.ide.eclipse.tests/screenshots/ -fit/core-reference/nb-configuration.xml +*nb-configuration.xml http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/client/console/src/main/resources/org/apache/syncope/client/console/pages/Reports.html ---------------------------------------------------------------------- diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Reports.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Reports.html index 63604ec..40ed1f1 100644 --- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/Reports.html +++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/Reports.html @@ -22,7 +22,7 @@ under the License. <h1> </h1> <ol class="breadcrumb"> <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"></wicket:message></a></li> - <li class="active"><wicket:message key="roles"></wicket:message></li> + <li class="active"><wicket:message key="reports"></wicket:message></li> </ol> </section> http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/fit/console-reference/pom.xml ---------------------------------------------------------------------- diff --git a/fit/console-reference/pom.xml b/fit/console-reference/pom.xml index 292c5f3..56dac13 100644 --- a/fit/console-reference/pom.xml +++ b/fit/console-reference/pom.xml @@ -373,8 +373,16 @@ under the License. </profile> <profile> - <id>jrebel</id> + <id>hotswap</id> + <dependencies> + <dependency> + <groupId>org.hotswapagent</groupId> + <artifactId>hotswap-agent</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + <build> <defaultGoal>clean verify cargo:run</defaultGoal> @@ -385,11 +393,13 @@ under the License. <inherited>true</inherited> <executions> <execution> - <id>enableJRebelForCore</id> + <id>enableHotSwapForCore</id> <phase>package</phase> <configuration> <target> - <copy file="${basedir}/../core-reference/target/test-classes/rebel.xml" tofile="${basedir}/../core-reference/target/syncope-fit-core-reference-${project.version}/WEB-INF/classes/rebel.xml" overwrite="true" /> + <copy file="${basedir}/../core-reference/target/test-classes/hotswap-agent.properties" + tofile="${basedir}/../core-reference/target/syncope-fit-core-reference-${project.version}/WEB-INF/classes/hotswap-agent.properties" + overwrite="true"/> </target> </configuration> <goals> @@ -406,10 +416,10 @@ under the License. <configuration> <configuration> <properties> - <cargo.jvmargs>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n - -noverify -agentpath:${env.REBEL_HOME}/lib/libjrebel64.so -Drebel.spring_plugin=true - -Dwicket.configuration=development - -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=512m -Xmx1024m -Xms512m</cargo.jvmargs> + <cargo.jvmargs> + -XXaltjvm=dcevm -javaagent:${settings.localRepository}/org/hotswapagent/hotswap-agent/${hotswap.version}/hotswap-agent-${hotswap.version}.jar=autoHotswap=true,disablePlugin=Spring + -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 + -XX:MaxPermSize=512m -Xmx1024m -Xms512m</cargo.jvmargs> </properties> </configuration> </configuration> @@ -431,7 +441,7 @@ under the License. <directory>src/test/resources</directory> <filtering>true</filtering> <includes> - <include>rebel.xml</include> + <include>hotswap-agent.properties</include> </includes> </resource> </resources> http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/fit/console-reference/src/test/resources/hotswap-agent.properties ---------------------------------------------------------------------- diff --git a/fit/console-reference/src/test/resources/hotswap-agent.properties b/fit/console-reference/src/test/resources/hotswap-agent.properties new file mode 100644 index 0000000..8e57816 --- /dev/null +++ b/fit/console-reference/src/test/resources/hotswap-agent.properties @@ -0,0 +1,33 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +LOGGER=error + +autoHotswap=true +autoHotswap.port=8000 + +extraClasspath=${basedir}/../console-reference/target/classes,\ +${basedir}/../../client/console/target/classes,\ +${basedir}/../../ext/camel/client-console/target/classes,\ +${basedir}/../../ext/saml2sp/client-console/target/classes,\ +${basedir}/../../ext/scimv2/client-console/target/classes,\ +${basedir}/../../ext/oidcclient/client-console/target/classes + +webappDir=${basedir}/../console-reference/src/main/webapp,\ +${basedir}/../../client/console/target/classes/META-INF/resources,\ +${basedir}/../../ext/saml2sp/client-console/target/classes,\ +${basedir}/../../ext/oidcclient/client-console/target/classes http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/fit/console-reference/src/test/resources/rebel.xml ---------------------------------------------------------------------- diff --git a/fit/console-reference/src/test/resources/rebel.xml b/fit/console-reference/src/test/resources/rebel.xml deleted file mode 100644 index 876c58f..0000000 --- a/fit/console-reference/src/test/resources/rebel.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> -<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://www.zeroturnaround.com" - xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd"> - - <classpath fallback="default"> - <dir name="${basedir}/../console-reference/target/classes"> - </dir> - <dir name="${basedir}/../../client/console/target/classes"> - </dir> - <dir name="${basedir}/../../ext/camel/client-console/target/classes"> - </dir> - <dir name="${basedir}/../../ext/saml2sp/agent/target/classes"> - </dir> - <dir name="${basedir}/../../ext/saml2sp/client-console/target/classes"> - </dir> - <dir name="${basedir}/../../ext/scimv2/client-console/target/classes"> - </dir> - <dir name="${basedir}/../../ext/oidcclient/agent/target/classes"> - </dir> - <dir name="${basedir}/../../ext/oidcclient/client-console/target/classes"> - </dir> - </classpath> - - <web> - <link target="/"> - <dir name="${basedir}/../console-reference/src/main/webapp"> - </dir> - </link> - <link target="/"> - <dir name="${basedir}/../../client/console/target/classes/META-INF/resources"> - </dir> - </link> - <link target="/"> - <dir name="${basedir}/../../ext/camel/client-console/target/classes"> - </dir> - </link> - <link target="/"> - <dir name="${basedir}/../../ext/saml2sp/client-console/target/classes"> - </dir> - </link> - <link target="/"> - <dir name="${basedir}/../../ext/scimv2/client-console/target/classes"> - </dir> - </link> - <link target="/"> - <dir name="${basedir}/../../ext/oidcclient/client-console/target/classes"> - </dir> - </link> - </web> - -</application> http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/fit/core-reference/pom.xml ---------------------------------------------------------------------- diff --git a/fit/core-reference/pom.xml b/fit/core-reference/pom.xml index db69672..d332a87 100644 --- a/fit/core-reference/pom.xml +++ b/fit/core-reference/pom.xml @@ -1402,12 +1402,20 @@ under the License. </profile> <profile> - <id>jrebel</id> + <id>hotswap</id> <properties> <skipTests>true</skipTests> </properties> + <dependencies> + <dependency> + <groupId>org.hotswapagent</groupId> + <artifactId>hotswap-agent</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + <build> <defaultGoal>clean verify cargo:run</defaultGoal> @@ -1419,9 +1427,10 @@ under the License. <configuration> <configuration> <properties> - <cargo.jvmargs>-Xdebug -Djaxb.debug=true -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n - -noverify -agentpath:${env.REBEL_HOME}/lib/libjrebel64.so -Drebel.spring_plugin=true - -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=512m -Xmx1024m -Xms512m</cargo.jvmargs> + <cargo.jvmargs> + -XXaltjvm=dcevm -javaagent:${settings.localRepository}/org/hotswapagent/hotswap-agent/${hotswap.version}/hotswap-agent-${hotswap.version}.jar=autoHotswap=true,disablePlugin=Spring + -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 + -XX:MaxPermSize=512m -Xmx1024m -Xms512m</cargo.jvmargs> </properties> </configuration> </configuration> @@ -1437,19 +1446,19 @@ under the License. </executions> </plugin> </plugins> - + <resources> <resource> <directory>src/test/resources</directory> <filtering>true</filtering> <includes> - <include>rebel.xml</include> + <include>hotswap-agent.properties</include> </includes> </resource> </resources> </build> </profile> - + <profile> <id>all</id> <activation> http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/fit/core-reference/src/test/resources/hotswap-agent.properties ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/resources/hotswap-agent.properties b/fit/core-reference/src/test/resources/hotswap-agent.properties new file mode 100644 index 0000000..69c5f48 --- /dev/null +++ b/fit/core-reference/src/test/resources/hotswap-agent.properties @@ -0,0 +1,70 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +LOGGER=error + +autoHotswap=true +autoHotswap.port=8000 + +extraClasspath=${basedir}/../core-reference/target/classes,\ +${basedir}/../../common/lib/target/classes,\ +${basedir}/../../common/rest-api/target/classes,\ +${basedir}/../../core/logic/target/classes/org,\ +${basedir}/../../core/rest-cxf/target/classes/org,\ +${basedir}/../../core/spring/target/classes/org,\ +${basedir}/../../core/persistence-api/target/classes,\ +${basedir}/../../core/persistence-jpa/target/classes/org/apache/syncope/core/persistence/jpa/dao,\ +${basedir}/../../core/persistence-jpa/target/classes/org/apache/syncope/core/persistence/jpa/validation,\ +${basedir}/../../core/provisioning-api/target/classes,\ +${basedir}/../../core/provisioning-java/target/classes/org,\ +${basedir}/../../core/workflow-api/target/classes,\ +${basedir}/../../core/workflow-java/target/classes/org,\ +${basedir}/../../core/workflow-activiti/target/classes/org,\ +${basedir}/../../core/migration/target/classes,\ +${basedir}/../../ext/camel/common-lib/target/classes,\ +${basedir}/../../ext/camel/logic/target/classes,\ +${basedir}/../../ext/camel/provisioning-camel/target/classes/org,\ +${basedir}/../../ext/saml2sp/common-lib/target/classes,\ +${basedir}/../../ext/saml2sp/logic/target/classes,\ +${basedir}/../../ext/saml2sp/persistence-api/target/classes,\ +${basedir}/../../ext/saml2sp/persistence-jpa/target/classes/org/apache/syncope/core/persistence/jpa/dao,\ +${basedir}/../../ext/saml2sp/persistence-jpa/target/classes/org/apache/syncope/core/persistence/jpa/validation,\ +${basedir}/../../ext/saml2sp/provisioning-api/target/classes,\ +${basedir}/../../ext/saml2sp/provisioning-java/target/classes,\ +${basedir}/../../ext/saml2sp/rest-api/target/classes,\ +${basedir}/../../ext/saml2sp/rest-cxf/target/classes/org,\ +${basedir}/../../ext/elasticsearch/client-elasticsearch/target/classes,\ +${basedir}/../../ext/elasticsearch/provisioning-java/target/classes,\ +${basedir}/../../ext/elasticsearch/persistence-jpa/target/classes,\ +${basedir}/../../ext/scimv2/common-lib/target/classes,\ +${basedir}/../../ext/scimv2/rest-api/target/classes,\ +${basedir}/../../ext/scimv2/rest-cxf/target/classes,\ +${basedir}/../../ext/scimv2/scim-rest-api/target/classes,\ +${basedir}/../../ext/scimv2/scim-rest-cxf/target/classes/org,\ +${basedir}/../../ext/scimv2/logic/target/classes,\ +${basedir}/../../ext/oidcclient/common-lib/target/classes,\ +${basedir}/../../ext/oidcclient/logic/target/classes,\ +${basedir}/../../ext/oidcclient/persistence-api/target/classes,\ +${basedir}/../../ext/oidcclient/persistence-jpa/target/classes/org/apache/syncope/core/persistence/jpa/dao,\ +${basedir}/../../ext/oidcclient/persistence-jpa/target/classes/org/apache/syncope/core/persistence/jpa/validation,\ +${basedir}/../../ext/oidcclient/provisioning-api/target/classes,\ +${basedir}/../../ext/oidcclient/provisioning-java/target/classes,\ +${basedir}/../../ext/oidcclient/rest-api/target/classes,\ +${basedir}/../../ext/oidcclient/rest-cxf/target/classes + +webappDir=${basedir}/../core-reference/src/main/webapp,\ +${basedir}/../../ext/swagger-ui/target/classes/META-INF/resources http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/fit/core-reference/src/test/resources/rebel.xml ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/resources/rebel.xml b/fit/core-reference/src/test/resources/rebel.xml deleted file mode 100644 index 0c5a357..0000000 --- a/fit/core-reference/src/test/resources/rebel.xml +++ /dev/null @@ -1,134 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> -<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://www.zeroturnaround.com" - xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd"> - - <classpath fallback="default"> - <dir name="${basedir}/../core-reference/target/classes"> - </dir> - <dir name="${basedir}/../../common/lib/target/classes"> - </dir> - <dir name="${basedir}/../../common/rest-api/target/classes"> - </dir> - <dir name="${basedir}/../../core/logic/target/classes"> - <exclude name="logicContext.xml"/> - </dir> - <dir name="${basedir}/../../core/rest-cxf/target/classes"> - <exclude name="restCXFContext.xml"/> - </dir> - <dir name="${basedir}/../../core/spring/target/classes"> - <exclude name="securityContext.xml"/> - </dir> - <dir name="${basedir}/../../core/persistence-api/target/classes"> - </dir> - <dir name="${basedir}/../../core/persistence-jpa/target/classes"> - <exclude name="persistenceContext.xml"/> - <exclude name="org/apache/syncope/core/persistence/jpa/entity/**"/> - </dir> - <dir name="${basedir}/../../core/provisioning-api/target/classes"> - </dir> - <dir name="${basedir}/../../core/provisioning-java/target/classes"> - <exclude name="provisioningContext.xml"/> - </dir> - <dir name="${basedir}/../../core/workflow-api/target/classes"> - </dir> - <dir name="${basedir}/../../core/workflow-java/target/classes"> - <exclude name="workflowContext.xml"/> - </dir> - <dir name="${basedir}/../../core/workflow-flowable/target/classes"> - <exclude name="workflowFlowableContext.xml"/> - </dir> - <dir name="${basedir}/../../ext/camel/common-lib/target/classes"> - </dir> - <dir name="${basedir}/../../ext/camel/logic/target/classes"> - </dir> - <dir name="${basedir}/../../ext/camel/provisioning-camel/target/classes"> - <exclude name="provisioningCamelContext.xml"/> - </dir> - <dir name="${basedir}/../../ext/saml2sp/common-lib/target/classes"> - </dir> - <dir name="${basedir}/../../ext/saml2sp/logic/target/classes"> - </dir> - <dir name="${basedir}/../../ext/saml2sp/persistence-api/target/classes"> - </dir> - <dir name="${basedir}/../../ext/saml2sp/persistence-jpa/target/classes"> - <exclude name="org/apache/syncope/core/persistence/jpa/entity/**"/> - </dir> - <dir name="${basedir}/../../ext/saml2sp/provisioning-api/target/classes"> - </dir> - <dir name="${basedir}/../../ext/saml2sp/provisioning-java/target/classes"> - </dir> - <dir name="${basedir}/../../ext/saml2sp/rest-api/target/classes"> - </dir> - <dir name="${basedir}/../../ext/saml2sp/rest-cxf/target/classes"> - </dir> - <dir name="${basedir}/../../ext/elasticsearch/client-elasticsearch/target/classes"> - <exclude name="elasticsearchClientContext.xml"/> - </dir> - <dir name="${basedir}/../../ext/elasticsearch/client-elasticsearch/target/classes"> - </dir> - <dir name="${basedir}/../../ext/elasticsearch/provisioning-java/target/classes"> - </dir> - <dir name="${basedir}/../../ext/elasticsearch/persistence-jpa/target/classes"> - </dir> - <dir name="${basedir}/../../ext/scimv2/common-lib/target/classes"> - </dir> - <dir name="${basedir}/../../ext/scimv2/rest-api/target/classes"> - </dir> - <dir name="${basedir}/../../ext/scimv2/rest-cxf/target/classes"> - </dir> - <dir name="${basedir}/../../ext/scimv2/scim-rest-api/target/classes"> - </dir> - <dir name="${basedir}/../../ext/scimv2/scim-rest-cxf/target/classes"> - </dir> - <dir name="${basedir}/../../ext/scimv2/logic/target/classes"> - </dir> - <dir name="${basedir}/../../ext/oidcclient/common-lib/target/classes"> - </dir> - <dir name="${basedir}/../../ext/oidcclient/logic/target/classes"> - </dir> - <dir name="${basedir}/../../ext/oidcclient/persistence-api/target/classes"> - </dir> - <dir name="${basedir}/../../ext/oidcclient/persistence-jpa/target/classes"> - <exclude name="org/apache/syncope/core/persistence/jpa/entity/**"/> - </dir> - <dir name="${basedir}/../../ext/oidcclient/provisioning-api/target/classes"> - </dir> - <dir name="${basedir}/../../ext/oidcclient/provisioning-java/target/classes"> - </dir> - <dir name="${basedir}/../../ext/oidcclient/rest-api/target/classes"> - </dir> - <dir name="${basedir}/../../ext/oidcclient/rest-cxf/target/classes"> - </dir> - </classpath> - - <web> - <link target="/"> - <dir name="${basedir}/../core-reference/src/main/webapp"> - </dir> - </link> - <link target="/"> - <dir name="${basedir}/../../ext/swagger-ui/target/classes/META-INF/resources"> - </dir> - </link> - </web> - -</application> http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/fit/enduser-reference/pom.xml ---------------------------------------------------------------------- diff --git a/fit/enduser-reference/pom.xml b/fit/enduser-reference/pom.xml index 62c0fb9..3b06c02 100644 --- a/fit/enduser-reference/pom.xml +++ b/fit/enduser-reference/pom.xml @@ -506,8 +506,16 @@ under the License. </profile> <profile> - <id>jrebel</id> + <id>hotswap</id> + <dependencies> + <dependency> + <groupId>org.hotswapagent</groupId> + <artifactId>hotswap-agent</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + <build> <defaultGoal>clean verify cargo:run</defaultGoal> @@ -530,12 +538,16 @@ under the License. <inherited>true</inherited> <executions> <execution> - <id>enableJRebelForCoreAndConsole</id> + <id>enableHotSwapForCoreAndConsole</id> <phase>package</phase> <configuration> <target> - <copy file="${basedir}/../core-reference/target/test-classes/rebel.xml" tofile="${basedir}/../core-reference/target/syncope-fit-core-reference-${project.version}/WEB-INF/classes/rebel.xml" overwrite="true" /> - <copy file="${basedir}/../console-reference/target/test-classes/rebel.xml" tofile="${basedir}/../console-reference/target/syncope-fit-console-reference-${project.version}/WEB-INF/classes/rebel.xml" overwrite="true" /> + <copy file="${basedir}/../core-reference/target/test-classes/hotswap-agent.properties" + tofile="${basedir}/../core-reference/target/syncope-fit-core-reference-${project.version}/WEB-INF/classes/hotswap-agent.properties" + overwrite="true"/> + <copy file="${basedir}/../console-reference/target/test-classes/hotswap-agent.properties" + tofile="${basedir}/../console-reference/target/syncope-fit-console-reference-${project.version}/WEB-INF/classes/hotswap-agent.properties" + overwrite="true"/> </target> </configuration> <goals> @@ -552,9 +564,10 @@ under the License. <configuration> <configuration> <properties> - <cargo.jvmargs>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n - -noverify -agentpath:${env.REBEL_HOME}/lib/libjrebel64.so -Drebel.spring_plugin=true - -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=512m -Xmx1024m -Xms512m</cargo.jvmargs> + <cargo.jvmargs> + -XXaltjvm=dcevm -javaagent:${settings.localRepository}/org/hotswapagent/hotswap-agent/${hotswap.version}/hotswap-agent-${hotswap.version}.jar=autoHotswap=true,disablePlugin=Spring + -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 + -XX:MaxPermSize=512m -Xmx1024m -Xms512m</cargo.jvmargs> </properties> </configuration> </configuration> @@ -576,7 +589,7 @@ under the License. <directory>src/test/resources</directory> <filtering>true</filtering> <includes> - <include>rebel.xml</include> + <include>hotswap-agent.properties</include> </includes> </resource> </resources> http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/fit/enduser-reference/src/test/resources/hotswap-agent.properties ---------------------------------------------------------------------- diff --git a/fit/enduser-reference/src/test/resources/hotswap-agent.properties b/fit/enduser-reference/src/test/resources/hotswap-agent.properties new file mode 100644 index 0000000..4f08d6f --- /dev/null +++ b/fit/enduser-reference/src/test/resources/hotswap-agent.properties @@ -0,0 +1,33 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +LOGGER=error + +autoHotswap=true +autoHotswap.port=8000 + +extraClasspath=${basedir}/../enduser-reference/target/classes,\ +${basedir}/../../client/enduser/target/classes,\ +${basedir}/../../ext/camel/client-enduser/target/classes,\ +${basedir}/../../ext/saml2sp/client-enduser/target/classes,\ +${basedir}/../../ext/scimv2/client-enduser/target/classes,\ +${basedir}/../../ext/oidcclient/client-enduser/target/classes + +webappDir=${basedir}/../enduser-reference/src/main/webapp,\ +${basedir}/../../client/enduser/target/classes/META-INF/resources,\ +${basedir}/../../ext/saml2sp/client-enduser/target/classes,\ +${basedir}/../../ext/oidcclient/client-enduser/target/classes http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/fit/enduser-reference/src/test/resources/rebel.xml ---------------------------------------------------------------------- diff --git a/fit/enduser-reference/src/test/resources/rebel.xml b/fit/enduser-reference/src/test/resources/rebel.xml deleted file mode 100644 index d544b8d..0000000 --- a/fit/enduser-reference/src/test/resources/rebel.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> -<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://www.zeroturnaround.com" - xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd"> - - <classpath fallback="default"> - <dir name="${basedir}/../enduser-reference/target/classes"> - </dir> - <dir name="${basedir}/../../client/enduser/target/classes"> - </dir> - <dir name="${basedir}/../../ext/saml2sp/agent/target/classes"> - </dir> - <dir name="${basedir}/../../ext/saml2sp/client-enduser/target/classes"> - </dir> - <dir name="${basedir}/../../ext/oidcclient/agent/target/classes"> - </dir> - <dir name="${basedir}/../../ext/oidcclient/client-enduser/target/classes"> - </dir> - </classpath> - - <web> - <link target="/"> - <dir name="${basedir}/../enduser-reference/src/main/webapp"> - </dir> - </link> - <link target="/"> - <dir name="${basedir}/../../client/enduser/target/classes/META-INF/resources"> - </dir> - </link> - <link target="/"> - <dir name="${basedir}/../../ext/saml2sp/client-enduser/target/classes"> - </dir> - </link> - <link target="/"> - <dir name="${basedir}/../../ext/oidcclient/client-enduser/target/classes"> - </dir> - </link> - </web> - -</application> http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 5f5adba..e76c7ea 100644 --- a/pom.xml +++ b/pom.xml @@ -489,6 +489,8 @@ under the License. <antlr4.version>4.7.1</antlr4.version> + <hotswap.version>1.3.0</hotswap.version> + <testds.port>1389</testds.port> <testdb.webport>9082</testdb.webport> @@ -1637,6 +1639,12 @@ under the License. <version>${antlr4.version}</version> </dependency> + <dependency> + <groupId>org.hotswapagent</groupId> + <artifactId>hotswap-agent</artifactId> + <version>${hotswap.version}</version> + </dependency> + <!-- TEST --> <dependency> <groupId>com.github.detro</groupId> http://git-wip-us.apache.org/repos/asf/syncope/blob/5d024261/src/site/xdoc/building.xml ---------------------------------------------------------------------- diff --git a/src/site/xdoc/building.xml b/src/site/xdoc/building.xml index 79aa05e..9d0fb5b 100644 --- a/src/site/xdoc/building.xml +++ b/src/site/xdoc/building.xml @@ -37,7 +37,7 @@ under the License. <ul> <li>JDK 7 or higher for ≤ 2.0; JDK 8 or higher for later versions</li> <li> - <a href="http://maven.apache.org/download.html">Apache Maven</a> 3.0.3 or higher</li> + Latest <a href="http://maven.apache.org/download.html">Apache Maven</a></li> <li> <a href="source-repository.html">Latest source code</a> </li> @@ -115,13 +115,11 @@ under the License. <source>$ mvn test -Dtest=UserITCase#list</source> </p> - <h4>JRebel</h4> - As with Debug, but with <a href="http://zeroturnaround.com/software/jrebel/">JRebel</a> features enabled. - <source>$ export REBEL_HOME=/opt/jrebel -$ mvn -Pjrebel,all</source> - or, without Flowable and Camel support - <source>$ export REBEL_HOME=/opt/jrebel -$ mvn -Pjrebel</source> + <h4>HotSwapAgent</h4> + Similar to Debug, but with <a href="http://hotswapagent.org/">HotSwapAgent</a> features enabled (requires + <a href="https://github.com/dcevm/dcevm">DCEVM Java</a> installed as "alternative JVM" and IDE of choice + <a href="http://hotswapagent.org/mydoc_setup_netbeans.html">set up properly</a>). + <source>$ mvn -Photswap,all</source> <h4>DBMSes</h4> @@ -172,10 +170,11 @@ $ mvn -Pjrebel</source> enables remote JPDA debugging on port 8000 in the running Java EE container (Tomcat). <source>$ mvn -Pdebug</source> - <h4>JRebel</h4> - As with Debug, but with <a href="http://zeroturnaround.com/software/jrebel/">JRebel</a> features enabled. - <source>$ export REBEL_HOME=/opt/jrebel -$ mvn -Pjrebel</source> + <h4>HotSwapAgent</h4> + Similar to Debug, but with <a href="http://hotswapagent.org/">HotSwapAgent</a> features enabled (requires + <a href="https://github.com/dcevm/dcevm">DCEVM Java</a> installed as "alternative JVM" and IDE of choice + <a href="http://hotswapagent.org/mydoc_setup_netbeans.html">set up properly</a>). + <source>$ mvn -Photswap</source> </subsection> <subsection name="fit/enduser-reference"> @@ -188,14 +187,15 @@ $ mvn -Pjrebel</source> <p> Once started in debug mode, the test cases can be executed as follows: <source>$ cd target/enduser-test -$ nodejs/node/node nodejs/bin/protractor protractor-conf.js</source> + $ nodejs/node/node nodejs/bin/protractor protractor-conf.js</source> where the actual tests to be run can be selected by modifying the <code>protractor-conf.js</code> content. </p> - <h4>JRebel</h4> - As with Debug, but with <a href="http://zeroturnaround.com/software/jrebel/">JRebel</a> features enabled. - <source>$ export REBEL_HOME=/opt/jrebel -$ mvn -Pjrebel</source> + <h4>HotSwapAgent</h4> + Similar to Debug, but with <a href="http://hotswapagent.org/">HotSwapAgent</a> features enabled (requires + <a href="https://github.com/dcevm/dcevm">DCEVM Java</a> installed as "alternative JVM" and IDE of choice + <a href="http://hotswapagent.org/mydoc_setup_netbeans.html">set up properly</a>). + <source>$ mvn -Photswap</source> </subsection> <subsection name="ide/eclipse/bundles/org.apache.syncope.ide.eclipse.tests">
