From 4539aad482b5dc45827463772bbb3263caa9dcb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Massimiliano=20Dess=C3=AC?= Date: Tue, 18 Jul 2017 21:36:18 +0200 Subject: [PATCH] [Guvnor 3016] New KieTakari Plugin (#1030) * New Kie Maven plugin Takari * comments * Fix plugin name * changed module name * fix pom deps * fix pom test deps * enabled kie-maven-takari-plugin in tests, fixed components.xml, Mojos from kie maven plugin and tests * Added same deps of kie maven plugin * kie-maven-takari-plugin become kie-takari-plugin * kie-maven-takari-plugin become kie-takari-plugin * re-enabled all maven versions in tests * tmp commit to fix tests * removed unused dependencies * version instead of placeholder * Removed maven 3.2.5 because the latest takari version 1.12.5 needs maven 3.3.9 as requirement * restored placeholder in test's projects * moved takari version to the kie-parent enabled log and removed System.out from tests * log configuration * removed duplicated and unused deps * Moved kie-maven-plugin and kie-takari tests to the kie-plugins-testing * automatic reformat code * cleaned .idea files, added skip .idea in .gitignore * changes requested by QA * removed the takari version from the build plugin * moved tests of kie-maven-plugin and kie-takari-plugin into kie-plugins-testing * cleaned comments and unused parts * cleaned comments * version bump --- .gitignore | 1 + kie-maven-plugin/pom.xml | 30 +- .../org/kie/maven/plugin/AbstractKieMojo.java | 1 + .../java/org/kie/maven/plugin/BuildMojo.java | 6 +- .../maven/plugin/BytecodeInjectReactive.java | 1 - .../InjectReactiveMojoConfigTest.java | 106 --- .../xpath/tobeinstrumented/XPathTest.java | 587 ---------------- .../plugin/InjectReactiveIntegrationTest.java | 139 ---- .../AllResourceTypes/simple-xmlrule.xml | 21 - kie-plugins-testing/pom.xml | 227 ++++++ .../InjectReactiveMojoConfigTest.java | 134 ++++ .../xpath/tobeinstrumented/XPathTest.java | 660 ++++++++++++++++++ .../xpath/tobeinstrumented/model/Adult.java | 6 +- .../xpath/tobeinstrumented/model/Child.java | 9 +- .../xpath/tobeinstrumented/model/Man.java | 6 +- .../xpath/tobeinstrumented/model/Person.java | 3 +- .../model/PojoWithCollections.java | 14 +- .../xpath/tobeinstrumented/model/School.java | 2 +- .../tobeinstrumented/model/TMDirectory.java | 2 +- .../xpath/tobeinstrumented/model/TMFile.java | 4 +- .../tobeinstrumented/model/TMFileSet.java | 1 + .../xpath/tobeinstrumented/model/Toy.java | 0 .../xpath/tobeinstrumented/model/Woman.java | 6 +- .../AdditionalPropertiesIntegrationTest.java | 9 +- .../plugin/BuildMojoIntegrationTest.java | 8 +- .../plugin/InjectReactiveIntegrationTest.java | 154 ++++ .../KieMavenPluginBaseIntegrationTest.java | 20 +- .../plugin/SerializeMojoIntegrationTest.java | 10 +- ...tionalPropertiesIntegrationTakariTest.java | 46 ++ .../BuildMojoIntegrationTakariTest.java | 47 ++ .../InjectReactiveIntegrationTakariTest.java | 36 + .../SerializeMojoIntegrationTakariTest.java | 49 ++ .../kjar-1-with-serialize/pom-kie.xml | 69 ++ .../kjar-1-with-serialize/pom-takari.xml | 69 ++ .../projects/kjar-1-with-serialize/pom.xml | 2 +- .../main/java/org/kie/sample/model/Fire.java | 3 +- .../main/java/org/kie/sample/model/Room.java | 7 +- .../java/org/kie/sample/model/Sprinkler.java | 7 +- .../main/resources/FireAlarmKBase/alarm.drl | 0 .../main/resources/FireAlarmKBase/rules.drl | 0 .../main/resources/FireAlarmKBase/rules2.drl | 0 .../src/main/resources/KBase1/decA.drl | 0 .../src/main/resources/KBase1/decB.drl | 0 .../src/main/resources/KBase1/rule.drl | 0 .../src/main/resources/META-INF/kmodule.xml | 0 .../kjar-1-with-serialize/src/pom.xml | 69 ++ .../java/org/kie/kproject/KProjectTest.java | 9 +- .../projects/kjar-2-all-resources/pom-kie.xml | 28 + .../kjar-2-all-resources/pom-takari.xml | 28 + .../projects/kjar-2-all-resources/pom.xml | 2 +- .../org/kie/maven/plugin/test/Person.java | 1 + .../resources/AllResourceTypes/simple-dmn.dmn | 68 +- .../resources/AllResourceTypes/simple-dsl.dsl | 0 .../AllResourceTypes/simple-dslr.dslr | 0 .../simple-dtable-template.txls | Bin .../AllResourceTypes/simple-dtable.xls | Bin .../simple-guided-dtable-with-dsl.dsl | 0 .../simple-guided-dtable-with-dsl.gdst | 0 .../simple-guided-dtable.gdst | 0 .../AllResourceTypes/simple-pmml.pmml | 0 .../AllResourceTypes/simple-process.bpmn2 | 0 .../simple-rule-template.template | 0 .../AllResourceTypes/simple-rules.drl | 0 .../AllResourceTypes/simple-scorecard.sxls | Bin .../AllResourceTypes/simple-template.drt | 0 .../AllResourceTypes/simple-xmlrule.xml | 21 + .../src/main/resources/META-INF/kmodule.xml | 0 .../kjar-3-properties-only/pom-kie.xml | 29 + .../kjar-3-properties-only/pom-takari.xml | 29 + .../projects/kjar-3-properties-only/pom.xml | 2 +- .../src/main/resources/META-INF/kmodule.xml | 0 .../kjar-4-bytecode-inject/pom-kie.xml | 64 ++ .../kjar-4-bytecode-inject/pom-takari.xml | 64 ++ .../projects/kjar-4-bytecode-inject/pom.xml | 24 +- .../xpath/tobeinstrumented/model/Adult.java | 6 +- .../xpath/tobeinstrumented/model/Child.java | 9 +- .../model/FieldIsNotListInterface.java | 3 +- .../model/FieldsSomeInterfacesSomeNot.java | 9 +- .../tobeinstrumented/model/ImmutablePojo.java | 4 +- .../xpath/tobeinstrumented/model/Man.java | 6 +- .../xpath/tobeinstrumented/model/Person.java | 3 +- .../model/PojoWithCollections.java | 13 +- .../xpath/tobeinstrumented/model/School.java | 2 +- .../tobeinstrumented/model/TMDirectory.java | 2 +- .../xpath/tobeinstrumented/model/TMFile.java | 4 +- .../tobeinstrumented/model/TMFileSet.java | 1 + .../xpath/tobeinstrumented/model/Toy.java | 0 .../model/UsingADependencyClass.java | 6 +- .../model/UsingSpecializedList.java | 6 +- .../xpath/tobeinstrumented/model/Woman.java | 6 +- .../src/main/resources/META-INF/kmodule.xml | 0 .../pom-kie.xml | 69 ++ .../pom-takari.xml | 69 ++ .../kjar-5-bytecode-inject-selected/pom.xml | 34 +- .../xpath/tobeinstrumented/model/Adult.java | 6 +- .../xpath/tobeinstrumented/model/Child.java | 9 +- .../tobeinstrumented/model/ImmutablePojo.java | 4 +- .../xpath/tobeinstrumented/model/Man.java | 6 +- .../xpath/tobeinstrumented/model/Person.java | 3 +- .../xpath/tobeinstrumented/model/School.java | 2 +- .../tobeinstrumented/model/TMDirectory.java | 2 +- .../xpath/tobeinstrumented/model/TMFile.java | 4 +- .../tobeinstrumented/model/TMFileSet.java | 1 + .../xpath/tobeinstrumented/model/Toy.java | 0 .../model/UsingADependencyClass.java | 7 +- .../model/UsingSpecializedList.java | 6 +- .../xpath/tobeinstrumented/model/Woman.java | 6 +- .../src/main/java/to/instrument/Adult.java | 6 +- .../src/main/java/to/instrument/Child.java | 9 +- .../java/to/instrument/ImmutablePojo.java | 4 +- .../src/main/java/to/instrument/Man.java | 6 +- .../src/main/java/to/instrument/Person.java | 3 +- .../src/main/java/to/instrument/School.java | 2 +- .../main/java/to/instrument/TMDirectory.java | 2 +- .../src/main/java/to/instrument/TMFile.java | 4 +- .../main/java/to/instrument/TMFileSet.java | 1 + .../src/main/java/to/instrument/Toy.java | 0 .../to/instrument/UsingADependencyClass.java | 6 +- .../to/instrument/UsingSpecializedList.java | 6 +- .../src/main/java/to/instrument/Woman.java | 6 +- .../main/java/to/not/instrument/Adult.java | 6 +- .../main/java/to/not/instrument/Child.java | 9 +- .../java/to/not/instrument/ImmutablePojo.java | 4 +- .../src/main/java/to/not/instrument/Man.java | 6 +- .../main/java/to/not/instrument/Person.java | 3 +- .../main/java/to/not/instrument/School.java | 2 +- .../java/to/not/instrument/TMDirectory.java | 2 +- .../main/java/to/not/instrument/TMFile.java | 4 +- .../java/to/not/instrument/TMFileSet.java | 1 + .../src/main/java/to/not/instrument/Toy.java | 0 .../not/instrument/UsingADependencyClass.java | 7 +- .../not/instrument/UsingSpecializedList.java | 6 +- .../main/java/to/not/instrument/Woman.java | 6 +- .../src/main/resources/META-INF/kmodule.xml | 0 .../src/test/resources/logback-test.xml | 20 + kie-takari-plugin/.gitignore | 10 + kie-takari-plugin/pom.xml | 231 ++++++ .../kie/maven/takari/plugin/BuildMojo.java | 31 + .../takari/plugin/InjectReactiveMojo.java | 30 + .../maven/takari/plugin/SerializeMojo.java | 32 + .../takari/plugin/TouchResourcesMojo.java | 29 + .../resources/META-INF/plexus/components.xml | 40 ++ pom.xml | 2 + 143 files changed, 2692 insertions(+), 1092 deletions(-) delete mode 100644 kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/InjectReactiveMojoConfigTest.java delete mode 100644 kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/XPathTest.java delete mode 100644 kie-maven-plugin/src/test/java/org/kie/maven/plugin/InjectReactiveIntegrationTest.java delete mode 100644 kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-xmlrule.xml create mode 100644 kie-plugins-testing/pom.xml create mode 100644 kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/InjectReactiveMojoConfigTest.java create mode 100644 kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/XPathTest.java rename {kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main => kie-plugins-testing/src/test}/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java (90%) rename {kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main => kie-plugins-testing/src/test}/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java (91%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java (89%) rename {kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main => kie-plugins-testing/src/test}/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java (94%) rename {kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main => kie-plugins-testing/src/test}/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java (85%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java (99%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java (100%) rename {kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main => kie-plugins-testing/src/test}/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java (95%) rename {kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main => kie-plugins-testing/src/test}/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java (99%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java (100%) rename {kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main => kie-plugins-testing/src/test}/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java (89%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/java/org/kie/maven/plugin/AdditionalPropertiesIntegrationTest.java (94%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/java/org/kie/maven/plugin/BuildMojoIntegrationTest.java (94%) create mode 100644 kie-plugins-testing/src/test/java/org/kie/maven/plugin/InjectReactiveIntegrationTest.java rename {kie-maven-plugin => kie-plugins-testing}/src/test/java/org/kie/maven/plugin/KieMavenPluginBaseIntegrationTest.java (66%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/java/org/kie/maven/plugin/SerializeMojoIntegrationTest.java (91%) create mode 100644 kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/AdditionalPropertiesIntegrationTakariTest.java create mode 100644 kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/BuildMojoIntegrationTakariTest.java create mode 100644 kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/InjectReactiveIntegrationTakariTest.java create mode 100644 kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/SerializeMojoIntegrationTakariTest.java create mode 100644 kie-plugins-testing/src/test/projects/kjar-1-with-serialize/pom-kie.xml create mode 100644 kie-plugins-testing/src/test/projects/kjar-1-with-serialize/pom-takari.xml rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-1-with-serialize/pom.xml (94%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Fire.java (97%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Room.java (92%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Sprinkler.java (92%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/alarm.drl (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/rules.drl (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/rules2.drl (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/decA.drl (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/decB.drl (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/rule.drl (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-1-with-serialize/src/main/resources/META-INF/kmodule.xml (100%) create mode 100644 kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/pom.xml rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-1-with-serialize/src/test/java/org/kie/kproject/KProjectTest.java (91%) create mode 100644 kie-plugins-testing/src/test/projects/kjar-2-all-resources/pom-kie.xml create mode 100644 kie-plugins-testing/src/test/projects/kjar-2-all-resources/pom-takari.xml rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/pom.xml (88%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/java/org/kie/maven/plugin/test/Person.java (99%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dmn.dmn (97%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dsl.dsl (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dslr.dslr (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dtable-template.txls (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dtable.xls (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable-with-dsl.dsl (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable-with-dsl.gdst (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable.gdst (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-pmml.pmml (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-process.bpmn2 (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-rule-template.template (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-rules.drl (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-scorecard.sxls (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-template.drt (100%) create mode 100644 kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-xmlrule.xml rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-2-all-resources/src/main/resources/META-INF/kmodule.xml (100%) create mode 100644 kie-plugins-testing/src/test/projects/kjar-3-properties-only/pom-kie.xml create mode 100644 kie-plugins-testing/src/test/projects/kjar-3-properties-only/pom-takari.xml rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-3-properties-only/pom.xml (88%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-3-properties-only/src/main/resources/META-INF/kmodule.xml (100%) create mode 100644 kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/pom-kie.xml create mode 100644 kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/pom-takari.xml rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-4-bytecode-inject/pom.xml (79%) rename {kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected => kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject}/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java (90%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java (91%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldIsNotListInterface.java (98%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldsSomeInterfacesSomeNot.java (98%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java (92%) rename {kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected => kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject}/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java (89%) rename {kie-maven-plugin/src/test => kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main}/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java (94%) rename {kie-maven-plugin/src/test => kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main}/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java (86%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java (99%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java (95%) rename {kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected => kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject}/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java (99%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java (100%) rename {kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected => kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject}/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java (90%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java (92%) rename {kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected => kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject}/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java (89%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-4-bytecode-inject/src/main/resources/META-INF/kmodule.xml (100%) create mode 100644 kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/pom-kie.xml create mode 100644 kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/pom-takari.xml rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/pom.xml (69%) rename {kie-maven-plugin/src/test => kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main}/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java (90%) rename {kie-maven-plugin/src/test => kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main}/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java (91%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java (92%) rename {kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject => kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected}/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java (89%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java (94%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java (99%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java (100%) rename {kie-maven-plugin/src/test => kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main}/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java (95%) rename {kie-maven-plugin/src/test => kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main}/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java (99%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java (100%) rename {kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject => kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected}/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java (90%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java (92%) rename {kie-maven-plugin/src/test => kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main}/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java (89%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Adult.java (90%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Child.java (91%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/ImmutablePojo.java (92%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Man.java (89%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Person.java (94%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/School.java (99%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMDirectory.java (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFile.java (94%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFileSet.java (99%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Toy.java (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingADependencyClass.java (90%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingSpecializedList.java (92%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Woman.java (89%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Adult.java (90%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Child.java (91%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/ImmutablePojo.java (92%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Man.java (89%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Person.java (94%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/School.java (99%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMDirectory.java (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFile.java (94%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFileSet.java (99%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Toy.java (100%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingADependencyClass.java (89%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingSpecializedList.java (92%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Woman.java (89%) rename {kie-maven-plugin => kie-plugins-testing}/src/test/projects/kjar-5-bytecode-inject-selected/src/main/resources/META-INF/kmodule.xml (100%) create mode 100644 kie-plugins-testing/src/test/resources/logback-test.xml create mode 100644 kie-takari-plugin/.gitignore create mode 100644 kie-takari-plugin/pom.xml create mode 100644 kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/BuildMojo.java create mode 100644 kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/InjectReactiveMojo.java create mode 100644 kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/SerializeMojo.java create mode 100644 kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/TouchResourcesMojo.java create mode 100644 kie-takari-plugin/src/main/resources/META-INF/plexus/components.xml diff --git a/.gitignore b/.gitignore index 8ea66a2700..0b600edf21 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ .classpath .project .settings +.idea target # Repository wide ignore mac DS_Store files diff --git a/kie-maven-plugin/pom.xml b/kie-maven-plugin/pom.xml index 36ac438159..275ceac28b 100644 --- a/kie-maven-plugin/pom.xml +++ b/kie-maven-plugin/pom.xml @@ -26,8 +26,10 @@ io.takari.maven.plugins takari-lifecycle-plugin - 1.12.4 true + + none + @@ -185,15 +187,14 @@ kie-dmn-core runtime - - + org.apache.commons + commons-compress + + + org.apache.commons + commons-exec + @@ -212,16 +213,15 @@ takari-plugin-testing test + - io.takari.maven.plugins - takari-plugin-integration-testing - pom + org.slf4j + slf4j-ext test - - junit - junit + ch.qos.logback + logback-classic test diff --git a/kie-maven-plugin/src/main/java/org/kie/maven/plugin/AbstractKieMojo.java b/kie-maven-plugin/src/main/java/org/kie/maven/plugin/AbstractKieMojo.java index a9ec93a9dc..ef13bec310 100644 --- a/kie-maven-plugin/src/main/java/org/kie/maven/plugin/AbstractKieMojo.java +++ b/kie-maven-plugin/src/main/java/org/kie/maven/plugin/AbstractKieMojo.java @@ -22,6 +22,7 @@ public abstract class AbstractKieMojo extends AbstractMojo { protected void setSystemProperties(Map properties) { + if (properties != null) { getLog().debug("Additional system properties: " + properties); for (Map.Entry property : properties.entrySet()) { diff --git a/kie-maven-plugin/src/main/java/org/kie/maven/plugin/BuildMojo.java b/kie-maven-plugin/src/main/java/org/kie/maven/plugin/BuildMojo.java index b8bd91ca3b..cd239d9ef4 100644 --- a/kie-maven-plugin/src/main/java/org/kie/maven/plugin/BuildMojo.java +++ b/kie-maven-plugin/src/main/java/org/kie/maven/plugin/BuildMojo.java @@ -198,19 +198,19 @@ private void shareKieObjectsWithMap(InternalKieModule kModule) { KieMetaInfoBuilder builder = new KieMetaInfoBuilder(kModule); KieModuleMetaInfo modelMetaInfo = builder.getKieModuleMetaInfo(); - /*Standard for the kieMap keys -> compilationID + dot + class name with first lowercase*/ + /*Standard for the kieMap keys -> compilationID + dot + class name */ StringBuilder sbModelMetaInfo = new StringBuilder(compilationID).append(".").append(KieModuleMetaInfo.class.getName()); StringBuilder sbkModule = new StringBuilder(compilationID).append(".").append(FileKieModule.class.getName()); if (modelMetaInfo != null) { optionalKieMap.get().put(sbModelMetaInfo.toString(), modelMetaInfo); - getLog().info("KieModelMetaInfo available in the map shared with the Maven Embedded"); + getLog().info("KieModelMetaInfo available in the map shared with the Maven Embedder"); } if (kModule != null) { optionalKieMap.get().put(sbkModule.toString(), kModule); - getLog().info("KieModule available in the map shared with the Maven Embedded"); + getLog().info("KieModule available in the map shared with the Maven Embedder"); } } } diff --git a/kie-maven-plugin/src/main/java/org/kie/maven/plugin/BytecodeInjectReactive.java b/kie-maven-plugin/src/main/java/org/kie/maven/plugin/BytecodeInjectReactive.java index 910071a28c..027bcb31e8 100644 --- a/kie-maven-plugin/src/main/java/org/kie/maven/plugin/BytecodeInjectReactive.java +++ b/kie-maven-plugin/src/main/java/org/kie/maven/plugin/BytecodeInjectReactive.java @@ -16,7 +16,6 @@ package org.kie.maven.plugin; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/InjectReactiveMojoConfigTest.java b/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/InjectReactiveMojoConfigTest.java deleted file mode 100644 index 3dc5ec19be..0000000000 --- a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/InjectReactiveMojoConfigTest.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.drools.compiler.xpath.tobeinstrumented; - -import static org.kie.maven.plugin.InjectReactiveMojo.*; -import static org.junit.Assert.*; - -import java.util.Arrays; -import java.util.List; - -import org.drools.core.phreak.ReactiveObject; -import org.junit.Test; - -public class InjectReactiveMojoConfigTest { - - @Test - public void testRegexpForPackagesDefault() { - String[] inputConfig = new String[]{"*"}; - - List config = convertAllToPkgRegExps(inputConfig); - - System.out.println(Arrays.asList(config)); - - assertTrue(isPackageNameIncluded(Object.class.getPackage().getName(), config)); - assertTrue(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config)); - assertTrue(isPackageNameIncluded("xyz.my", config)); - } - - @Test - public void testRegexpForPackagesSingleNoStars() { - String[] inputConfig = new String[]{"org.drools"}; - - List config = convertAllToPkgRegExps(inputConfig); - - System.out.println(Arrays.asList(config)); - - assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), config)); - assertFalse(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config)); - assertFalse(isPackageNameIncluded("xyz.my", config)); - } - - @Test - public void testRegexpForPackagesMultipleNoStars() { - String[] inputConfig = new String[]{"org.drools", "xyz.my"}; - - List config = convertAllToPkgRegExps(inputConfig); - - System.out.println(Arrays.asList(config)); - - assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), config)); - assertFalse(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config)); - assertTrue (isPackageNameIncluded("xyz.my", config)); - } - - @Test - public void testRegexpForPackagesSingleStars() { - String[] inputConfig = new String[]{"org.drools.*"}; - - List config = convertAllToPkgRegExps(inputConfig); - - System.out.println(Arrays.asList(config)); - - assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), config)); - assertTrue (isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config)); - assertFalse(isPackageNameIncluded("xyz.my", config)); - } - - @Test - public void testRegexpForPackagesMultipleStars() { - String[] inputConfig = new String[]{"org.drools.*", "xyz.my.*"}; - - List config = convertAllToPkgRegExps(inputConfig); - - System.out.println(Arrays.asList(config)); - - assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), config)); - assertTrue (isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config)); - assertTrue (isPackageNameIncluded("xyz.my", config)); - } - - @Test - public void testRegexpForPackagesCheckPart() { - String[] inputConfig = new String[]{"my"}; - - List config = convertAllToPkgRegExps(inputConfig); - - System.out.println(Arrays.asList(config)); - - assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), config)); - assertFalse(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config)); - assertFalse(isPackageNameIncluded("xyz.my", config)); - } - - @Test - public void testRegexpForPackagesCheckNaming() { - String[] inputConfig = new String[]{"org.drools", "to.instrument.*"}; - - List config = convertAllToPkgRegExps(inputConfig); - - System.out.println(Arrays.asList(config)); - - assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), config)); - assertFalse(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), config)); - assertFalse(isPackageNameIncluded("xyz.my", config)); - assertTrue (isPackageNameIncluded("to.instrument", config)); - assertFalse(isPackageNameIncluded("to.not.instrument", config)); - } -} diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/XPathTest.java b/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/XPathTest.java deleted file mode 100644 index 3c51d9f76d..0000000000 --- a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/XPathTest.java +++ /dev/null @@ -1,587 +0,0 @@ -package org.drools.compiler.xpath.tobeinstrumented; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; - -import javassist.ClassPool; -import javassist.CtClass; -import org.drools.compiler.xpath.tobeinstrumented.model.Child; -import org.drools.compiler.xpath.tobeinstrumented.model.Man; -import org.drools.compiler.xpath.tobeinstrumented.model.PojoWithCollections; -import org.drools.compiler.xpath.tobeinstrumented.model.School; -import org.drools.compiler.xpath.tobeinstrumented.model.TMDirectory; -import org.drools.compiler.xpath.tobeinstrumented.model.TMFile; -import org.drools.compiler.xpath.tobeinstrumented.model.TMFileSet; -import org.drools.compiler.xpath.tobeinstrumented.model.Toy; -import org.drools.compiler.xpath.tobeinstrumented.model.Woman; -import org.drools.core.base.ClassObjectType; -import org.drools.core.common.InternalWorkingMemory; -import org.drools.core.impl.InternalKnowledgeBase; -import org.drools.core.phreak.ReactiveCollection; -import org.drools.core.phreak.ReactiveList; -import org.drools.core.phreak.ReactiveObject; -import org.drools.core.phreak.ReactiveSet; -import org.drools.core.reteoo.BetaMemory; -import org.drools.core.reteoo.EntryPointNode; -import org.drools.core.reteoo.LeftInputAdapterNode; -import org.drools.core.reteoo.LeftTuple; -import org.drools.core.reteoo.ObjectTypeNode; -import org.drools.core.reteoo.ReactiveFromNode; -import org.drools.core.reteoo.TupleMemory; -import org.drools.core.util.Iterator; -import org.junit.BeforeClass; -import org.junit.Test; -import org.kie.api.KieBase; -import org.kie.api.io.ResourceType; -import org.kie.api.runtime.KieSession; -import org.kie.internal.utils.KieHelper; -import org.kie.maven.plugin.BytecodeInjectReactive; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import static org.junit.Assert.*; - -public class XPathTest { - private static final Logger LOG = LoggerFactory.getLogger(XPathTest.class); - - @BeforeClass - public static void init() throws Exception { - ClassPool cp = new ClassPool(null); - cp.appendSystemPath(); - cp.appendClassPath(BytecodeInjectReactive.classpathFromClass(ReactiveObject.class)); - - BytecodeInjectReactive enhancer = BytecodeInjectReactive.newInstance(cp); - - /* - BYTECODE LOADING WARNING: in the following, ensure class is passed as canonical String representation, - and NOT as a Clazz.class.getCanonicalName(). This is because yes technically it would be possible to - classload the new instrumented and bytecode injected class in a separate classloader - HOWEVER it would just make more trouble more down during actual testing. - This is because if here a class is identified as Clazz.class.getCanonicalName() - it would be classloaded and remain loaded as the original class, - hence later in the test there is no way to reload the same class as the bytecode instrumented version - which is the ultimate intention behind of these tests. - */ - byte[] personBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.Person"); - byte[] schoolBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.School"); - byte[] childBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.Child"); - byte[] tmfileBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.TMFile"); - byte[] tmfilesetBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.TMFileSet"); - byte[] tmdirectoryBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.TMDirectory"); - byte[] pojoWithCollectionsBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.PojoWithCollections"); - - ClassPool cp2 = new ClassPool(null); - cp2.appendSystemPath(); - cp2.appendClassPath(BytecodeInjectReactive.classpathFromClass(ReactiveObject.class)); - - loadClassAndUtils(cp2, personBytecode); - loadClassAndUtils(cp2, childBytecode); - loadClassAndUtils(cp2, schoolBytecode); - loadClassAndUtils(cp2, tmfileBytecode); - loadClassAndUtils(cp2, tmfilesetBytecode); - loadClassAndUtils(cp2, tmdirectoryBytecode); - loadClassAndUtils(cp2, pojoWithCollectionsBytecode); - } - - private static void loadClassAndUtils(ClassPool cp, byte[] bytecode) throws Exception { - CtClass theCtClass = cp.makeClass(new ByteArrayInputStream(bytecode)); - Class class1 = theCtClass.toClass(); - - LOG.info("Bytecode-injected class for {} now having the following methods:", theCtClass.getName()); - for ( Method m : class1.getMethods() ) { - LOG.info(" {}", m ); - } - - File dir = new File("./target/JAVASSIST/"); - dir.mkdirs(); - // please note it is INTENTIONAL to write the file with package name part of the file itself, for easier browsing - // anyway the directory is NOT intended for classloading, but just for browsing bytecode for decompilation. - File bytecodeFile = new File(dir, theCtClass.getPackageName() + theCtClass.getName() + ".class" ); - bytecodeFile.createNewFile(); - FileOutputStream fos = new FileOutputStream(bytecodeFile); - fos.write(bytecode); - fos.close(); - LOG.info("Written bytecode for {} in file: {}.", theCtClass.getName(), bytecodeFile); - } - - @Test - public void testPojoWithCollectionsBytecode() { - PojoWithCollections pojo = new PojoWithCollections(new ArrayList(), new ArrayList(), new HashSet()); - - LOG.info("testPojoWithCollectionsBytecode(): {}", pojo); - - assertEquals(pojo.getFieldCollection().getClass(), ReactiveCollection.class); - assertEquals(pojo.getFieldList().getClass(), ReactiveList.class); - assertEquals(pojo.getFieldSet().getClass(), ReactiveSet.class); - } - - /** - * Copied from drools-compiler. - */ - @Test - public void testReactiveOnLia() { - String drl = - "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + - "global java.util.List list\n" + - "\n" + - "rule R when\n" + - " Man( $toy: /wife/children[age > 10]/toys )\n" + - "then\n" + - " list.add( $toy.getName() );\n" + - "end\n"; - - KieSession ksession = new KieHelper().addContent( drl, ResourceType.DRL ) - .build() - .newKieSession(); - - List list = new ArrayList(); - ksession.setGlobal( "list", list ); - - Woman alice = new Woman( "Alice", 38 ); - Man bob = new Man( "Bob", 40 ); - bob.setWife( alice ); - - Child charlie = new Child( "Charles", 12 ); - Child debbie = new Child( "Debbie", 10 ); - alice.addChild( charlie ); - alice.addChild( debbie ); - - charlie.addToy( new Toy( "car" ) ); - charlie.addToy( new Toy( "ball" ) ); - debbie.addToy( new Toy( "doll" ) ); - - ksession.insert( bob ); - ksession.fireAllRules(); - - assertEquals( 2, list.size() ); - assertTrue( list.contains( "car" ) ); - assertTrue( list.contains( "ball" ) ); - - list.clear(); - debbie.setAge( 11 ); - ksession.fireAllRules(); - - assertEquals( 1, list.size() ); - assertTrue( list.contains( "doll" ) ); - } - - /** - * Copied from drools-compiler. - */ - @Test - public void testReactiveDeleteOnLia() { - String drl = - "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + - "global java.util.List list\n" + - "\n" + - "rule R when\n" + - " Man( $toy: /wife/children[age > 10]/toys )\n" + - "then\n" + - " list.add( $toy.getName() );\n" + - "end\n"; - - KieBase kbase = new KieHelper().addContent( drl, ResourceType.DRL ).build(); - KieSession ksession = kbase.newKieSession(); - - EntryPointNode epn = ( (InternalKnowledgeBase) ksession.getKieBase() ).getRete().getEntryPointNodes().values().iterator().next(); - ObjectTypeNode otn = epn.getObjectTypeNodes().values().stream() - .filter(ot-> ot.getObjectType() instanceof ClassObjectType && !((ClassObjectType)ot.getObjectType()).getClassName().contains("InitialFact")) - .findFirst().get(); - LeftInputAdapterNode lian = (LeftInputAdapterNode)otn.getObjectSinkPropagator().getSinks()[0]; - ReactiveFromNode from1 = (ReactiveFromNode)lian.getSinkPropagator().getSinks()[0]; - ReactiveFromNode from2 = (ReactiveFromNode)from1.getSinkPropagator().getSinks()[0]; - ReactiveFromNode from3 = (ReactiveFromNode)from2.getSinkPropagator().getSinks()[0]; - - BetaMemory betaMemory = ( (InternalWorkingMemory) ksession ).getNodeMemory(from3).getBetaMemory(); - - List list = new ArrayList(); - ksession.setGlobal( "list", list ); - - Woman alice = new Woman( "Alice", 38 ); - Man bob = new Man( "Bob", 40 ); - bob.setWife( alice ); - - Child charlie = new Child( "Charles", 12 ); - Child debbie = new Child( "Debbie", 11 ); - alice.addChild( charlie ); - alice.addChild( debbie ); - - charlie.addToy( new Toy( "car" ) ); - charlie.addToy( new Toy( "ball" ) ); - debbie.addToy( new Toy( "doll" ) ); - - ksession.insert( bob ); - ksession.fireAllRules(); - - assertEquals( 3, list.size() ); - assertTrue( list.contains( "car" ) ); - assertTrue( list.contains( "ball" ) ); - assertTrue( list.contains( "doll" ) ); - - TupleMemory tupleMemory = betaMemory.getLeftTupleMemory(); - assertEquals( 2, betaMemory.getLeftTupleMemory().size() ); - Iterator it = tupleMemory.iterator(); - for ( LeftTuple next = it.next(); next != null; next = it.next() ) { - Object obj = next.getFactHandle().getObject(); - assertTrue( obj == charlie || obj == debbie ); - } - - list.clear(); - debbie.setAge( 10 ); - ksession.fireAllRules(); - - assertEquals( 0, list.size() ); - - assertEquals( 1, betaMemory.getLeftTupleMemory().size() ); - it = tupleMemory.iterator(); - for ( LeftTuple next = it.next(); next != null; next = it.next() ) { - Object obj = next.getFactHandle().getObject(); - assertTrue( obj == charlie ); - } - } - - /** - * Copied from drools-compiler. - */ - @Test - public void testReactiveOnBeta() { - String drl = - "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + - "global java.util.List list\n" + - "\n" + - "rule R when\n" + - " $i : Integer()\n" + - " Man( $toy: /wife/children[age > $i]?/toys )\n" + - "then\n" + - " list.add( $toy.getName() );\n" + - "end\n"; - - KieSession ksession = new KieHelper().addContent( drl, ResourceType.DRL ) - .build() - .newKieSession(); - - List list = new ArrayList(); - ksession.setGlobal( "list", list ); - - Woman alice = new Woman( "Alice", 38 ); - Man bob = new Man( "Bob", 40 ); - bob.setWife( alice ); - - Child charlie = new Child( "Charles", 12 ); - Child debbie = new Child( "Debbie", 10 ); - alice.addChild( charlie ); - alice.addChild( debbie ); - - charlie.addToy( new Toy( "car" ) ); - charlie.addToy( new Toy( "ball" ) ); - debbie.addToy( new Toy( "doll" ) ); - - ksession.insert( 10 ); - ksession.insert( bob ); - ksession.fireAllRules(); - - assertEquals( 2, list.size() ); - assertTrue( list.contains( "car" ) ); - assertTrue( list.contains( "ball" ) ); - - list.clear(); - debbie.setAge( 11 ); - ksession.fireAllRules(); - - assertEquals( 1, list.size() ); - assertTrue( list.contains( "doll" ) ); - } - - /** - * Copied from drools-compiler. - */ - @Test - public void testReactive2Rules() { - String drl = - "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + - "global java.util.List toyList\n" + - "global java.util.List teenagers\n" + - "\n" + - "rule R1 when\n" + - " $i : Integer()\n" + - " Man( $toy: /wife/children[age >= $i]/toys )\n" + - "then\n" + - " toyList.add( $toy.getName() );\n" + - "end\n" + - "rule R2 when\n" + - " School( $child: /children[age >= 13] )\n" + - "then\n" + - " teenagers.add( $child.getName() );\n" + - "end\n"; - - KieSession ksession = new KieHelper().addContent( drl, ResourceType.DRL ) - .build() - .newKieSession(); - - List toyList = new ArrayList(); - ksession.setGlobal( "toyList", toyList ); - List teenagers = new ArrayList(); - ksession.setGlobal( "teenagers", teenagers ); - - Woman alice = new Woman( "Alice", 38 ); - Man bob = new Man( "Bob", 40 ); - bob.setWife( alice ); - - Child charlie = new Child( "Charles", 15 ); - Child debbie = new Child( "Debbie", 12 ); - alice.addChild( charlie ); - alice.addChild( debbie ); - - charlie.addToy( new Toy( "car" ) ); - charlie.addToy( new Toy( "ball" ) ); - debbie.addToy( new Toy( "doll" ) ); - - School school = new School( "Da Vinci" ); - school.addChild( charlie ); - school.addChild( debbie ); - - ksession.insert( 13 ); - ksession.insert( bob ); - ksession.insert( school ); - ksession.fireAllRules(); - - assertEquals( 2, toyList.size() ); - assertTrue( toyList.contains( "car" ) ); - assertTrue( toyList.contains( "ball" ) ); - - assertEquals( 1, teenagers.size() ); - assertTrue( teenagers.contains( "Charles" ) ); - - toyList.clear(); - debbie.setAge( 13 ); - ksession.fireAllRules(); - - assertEquals( 1, toyList.size() ); - assertTrue( toyList.contains( "doll" ) ); - - assertEquals( 2, teenagers.size() ); - assertTrue( teenagers.contains( "Charles" ) ); - assertTrue( teenagers.contains( "Debbie" ) ); - } - - /** - * Copied from drools-compiler ( fixed with DROOLS-1302 ) - */ - @Test - public void testListReactive() { - String drl = - "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + - "\n" + - "rule R2 when\n" + - " School( $child: /children[age >= 13 && age < 20] )\n" + - "then\n" + - " System.out.println( $child );\n" + - " insertLogical( $child );\n" + - "end\n"; - - KieSession ksession = new KieHelper().addContent( drl, ResourceType.DRL ) - .build() - .newKieSession(); - - - Child charlie = new Child( "Charles", 15 ); - Child debbie = new Child( "Debbie", 19 ); - School school = new School( "Da Vinci" ); - school.addChild( charlie ); - ksession.insert( school ); - ksession.fireAllRules(); - assertTrue(ksession.getObjects().contains(charlie)); - assertFalse(ksession.getObjects().contains(debbie)); - - school.addChild( debbie ); - ksession.fireAllRules(); - assertTrue(ksession.getObjects().contains(charlie)); - assertTrue(ksession.getObjects().contains(debbie)); - - school.removeChild(debbie); - ksession.fireAllRules(); - assertTrue(ksession.getObjects().contains(charlie)); - assertFalse(ksession.getObjects().contains(debbie)); - - school.addChild( debbie ); - ksession.fireAllRules(); - assertTrue(ksession.getObjects().contains(charlie)); - assertTrue(ksession.getObjects().contains(debbie)); - - debbie.setAge( 20 ); - ksession.fireAllRules(); - assertTrue(ksession.getObjects().contains(charlie)); - assertFalse(ksession.getObjects().contains(debbie)); - } - - private List factsCollection(KieSession ksession) { - List res = new ArrayList<>(); - res.addAll(ksession.getObjects()); - return res; - } - - /** - * Copied from drools-compiler - */ - @Test - public void testMiscSetMethods() { - String drl = - "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + - "\n" + - "rule R2 when\n" + - " TMFileSet( $id: name, $p: /files[size >= 100] )\n" + - "then\n" + - " System.out.println( $id + \".\" + $p.getName() );\n" + - " insertLogical( $id + \".\" + $p.getName() );\n" + - "end\n"; - - KieSession ksession = new KieHelper().addContent( drl, ResourceType.DRL ) - .build() - .newKieSession(); - - TMFileSet x = new TMFileSet("X"); - TMFileSet y = new TMFileSet("Y"); - ksession.insert( x ); - ksession.insert( y ); - ksession.fireAllRules(); - assertFalse (factsCollection(ksession).contains("X.File0")); - assertFalse (factsCollection(ksession).contains("X.File1")); - assertFalse (factsCollection(ksession).contains("Y.File0")); - assertFalse (factsCollection(ksession).contains("Y.File1")); - - TMFile file0 = new TMFile("File0", 47); - TMFile file1 = new TMFile("File1", 47); - TMFile file2 = new TMFile("File2", 47); - x.getFiles().add(file2); - x.getFiles().addAll(Arrays.asList(new TMFile[]{file0, file1})); - y.getFiles().add(file2); - y.getFiles().add(file0); - y.getFiles().add(file1); - ksession.fireAllRules(); - assertFalse (factsCollection(ksession).contains("X.File0")); - assertFalse (factsCollection(ksession).contains("X.File1")); - assertFalse (factsCollection(ksession).contains("X.File2")); - assertFalse (factsCollection(ksession).contains("Y.File0")); - assertFalse (factsCollection(ksession).contains("Y.File1")); - assertFalse (factsCollection(ksession).contains("Y.File2")); - - file0.setSize( 999 ); - ksession.fireAllRules(); - assertTrue (factsCollection(ksession).contains("X.File0")); - assertFalse (factsCollection(ksession).contains("X.File1")); - assertFalse (factsCollection(ksession).contains("X.File2")); - assertTrue (factsCollection(ksession).contains("Y.File0")); - assertFalse (factsCollection(ksession).contains("Y.File1")); - assertFalse (factsCollection(ksession).contains("Y.File2")); - - y.getFiles().remove( file1 ); // removing File1 from Y - file1.setSize( 999 ); - ksession.fireAllRules(); - assertTrue (factsCollection(ksession).contains("X.File0")); - assertTrue (factsCollection(ksession).contains("X.File1")); - assertFalse (factsCollection(ksession).contains("X.File2")); - assertTrue (factsCollection(ksession).contains("Y.File0")); - assertFalse (factsCollection(ksession).contains("Y.File1")); - assertFalse (factsCollection(ksession).contains("Y.File2")); - - file2.setSize( 999 ); - ksession.fireAllRules(); - assertTrue (factsCollection(ksession).contains("X.File0")); - assertTrue (factsCollection(ksession).contains("X.File1")); - assertTrue (factsCollection(ksession).contains("X.File2")); - assertTrue (factsCollection(ksession).contains("Y.File0")); - assertFalse (factsCollection(ksession).contains("Y.File1")); - assertTrue (factsCollection(ksession).contains("Y.File2")); - } - - /** - * Copied from drools-compiler - */ - @Test - public void testMiscListMethods() { - String drl = - "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + - "\n" + - "rule R2 when\n" + - " TMDirectory( $id: name, $p: /files[size >= 100] )\n" + - "then\n" + - " System.out.println( $id + \".\" + $p.getName() );\n" + - " insertLogical( $id + \".\" + $p.getName() );\n" + - "end\n"; - - KieSession ksession = new KieHelper().addContent( drl, ResourceType.DRL ) - .build() - .newKieSession(); - - TMDirectory x = new TMDirectory("X"); - TMDirectory y = new TMDirectory("Y"); - ksession.insert( x ); - ksession.insert( y ); - ksession.fireAllRules(); - assertFalse (factsCollection(ksession).contains("X.File0")); - assertFalse (factsCollection(ksession).contains("X.File1")); - assertFalse (factsCollection(ksession).contains("Y.File0")); - assertFalse (factsCollection(ksession).contains("Y.File1")); - - TMFile file0 = new TMFile("File0", 47); - TMFile file1 = new TMFile("File1", 47); - TMFile file2 = new TMFile("File2", 47); - x.getFiles().add(file2); - x.getFiles().addAll(0, Arrays.asList(new TMFile[]{file0, file1})); - y.getFiles().add(0, file2); - y.getFiles().add(0, file0); - y.getFiles().add(1, file1); - ksession.fireAllRules(); - assertFalse (factsCollection(ksession).contains("X.File0")); - assertFalse (factsCollection(ksession).contains("X.File1")); - assertFalse (factsCollection(ksession).contains("X.File2")); - assertFalse (factsCollection(ksession).contains("Y.File0")); - assertFalse (factsCollection(ksession).contains("Y.File1")); - assertFalse (factsCollection(ksession).contains("Y.File2")); - - file0.setSize( 999 ); - ksession.fireAllRules(); - assertTrue (factsCollection(ksession).contains("X.File0")); - assertFalse (factsCollection(ksession).contains("X.File1")); - assertFalse (factsCollection(ksession).contains("X.File2")); - assertTrue (factsCollection(ksession).contains("Y.File0")); - assertFalse (factsCollection(ksession).contains("Y.File1")); - assertFalse (factsCollection(ksession).contains("Y.File2")); - - y.getFiles().remove(1); // removing File1 from Y - file1.setSize( 999 ); - ksession.fireAllRules(); - assertTrue (factsCollection(ksession).contains("X.File0")); - assertTrue (factsCollection(ksession).contains("X.File1")); - assertFalse (factsCollection(ksession).contains("X.File2")); - assertTrue (factsCollection(ksession).contains("Y.File0")); - assertFalse (factsCollection(ksession).contains("Y.File1")); - assertFalse (factsCollection(ksession).contains("Y.File2")); - - file2.setSize( 999 ); - ksession.fireAllRules(); - assertTrue (factsCollection(ksession).contains("X.File0")); - assertTrue (factsCollection(ksession).contains("X.File1")); - assertTrue (factsCollection(ksession).contains("X.File2")); - assertTrue (factsCollection(ksession).contains("Y.File0")); - assertFalse (factsCollection(ksession).contains("Y.File1")); - assertTrue (factsCollection(ksession).contains("Y.File2")); - - TMFile file0R = new TMFile("File0R", 999); - x.getFiles().set(0, file0R); - ksession.fireAllRules(); - assertFalse (factsCollection(ksession).contains("X.File0")); - assertTrue (factsCollection(ksession).contains("X.File0R")); - assertTrue (factsCollection(ksession).contains("X.File1")); - assertTrue (factsCollection(ksession).contains("X.File2")); - assertTrue (factsCollection(ksession).contains("Y.File0")); - assertFalse (factsCollection(ksession).contains("Y.File1")); - assertTrue (factsCollection(ksession).contains("Y.File2")); - } -} diff --git a/kie-maven-plugin/src/test/java/org/kie/maven/plugin/InjectReactiveIntegrationTest.java b/kie-maven-plugin/src/test/java/org/kie/maven/plugin/InjectReactiveIntegrationTest.java deleted file mode 100644 index abe4711c03..0000000000 --- a/kie-maven-plugin/src/test/java/org/kie/maven/plugin/InjectReactiveIntegrationTest.java +++ /dev/null @@ -1,139 +0,0 @@ -package org.kie.maven.plugin; - -import static org.junit.Assert.*; - -import java.io.File; -import java.io.FilenameFilter; -import java.lang.reflect.Method; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.List; - -import org.drools.core.phreak.ReactiveObject; - -import org.junit.Test; - -import io.takari.maven.testing.executor.MavenExecutionResult; -import io.takari.maven.testing.executor.MavenRuntime; - -public class InjectReactiveIntegrationTest extends KieMavenPluginBaseIntegrationTest { - - public InjectReactiveIntegrationTest(MavenRuntime.MavenRuntimeBuilder builder) throws Exception { - super(builder); - } - - @Test - public void testBasicBytecodeInjection() throws Exception { - File basedir = resources.getBasedir("kjar-4-bytecode-inject"); - MavenExecutionResult result = mavenRuntime - .forProject(basedir) - .execute("clean", "install"); - result.assertErrorFreeLog(); - - File classDir = new File(basedir, "target/classes"); - - System.out.println(classDir); - - List classloadingURLs = new ArrayList<>(); - classloadingURLs.add(classDir.toURI().toURL()); - classloadingURLs.add(new File(BytecodeInjectReactive.classpathFromClass(ReactiveObject.class)).toURI().toURL()); - File libDir = new File(basedir, "target/lib"); - for (File jar : libDir.listFiles(new FilenameFilter() { - public boolean accept(File dir, String name) { - return name.endsWith(".jar"); - } - })) { - classloadingURLs.add(jar.toURI().toURL()); - } - - ClassLoader cl = new URLClassLoader( classloadingURLs.toArray(new URL[]{}), null ); - - assertTrue( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.Adult") ) ); - assertTrue( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.UsingADependencyClass") ) ); - assertTrue( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.UsingSpecializedList") ) ); - assertTrue( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.TMFile") ) ); - assertTrue( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.TMFileSet") ) ); - assertFalse( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.ImmutablePojo") ) ); - assertFalse( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.FieldIsNotListInterface") ) ); - } - - @Test - public void testBasicBytecodeInjectionSelected() throws Exception { - File basedir = resources.getBasedir("kjar-5-bytecode-inject-selected"); - MavenExecutionResult result = mavenRuntime - .forProject(basedir) - .execute("clean", "install"); - result.assertErrorFreeLog(); - - File classDir = new File(basedir, "target/classes"); - - System.out.println(classDir); - - List classloadingURLs = new ArrayList<>(); - classloadingURLs.add(classDir.toURI().toURL()); - classloadingURLs.add(new File(BytecodeInjectReactive.classpathFromClass(ReactiveObject.class)).toURI().toURL()); - File libDir = new File(basedir, "target/lib"); - for (File jar : libDir.listFiles(new FilenameFilter() { - public boolean accept(File dir, String name) { - return name.endsWith(".jar"); - } - })) { - classloadingURLs.add(jar.toURI().toURL()); - } - - ClassLoader cl = new URLClassLoader( classloadingURLs.toArray(new URL[]{}), null ); - - assertTrue ( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.Adult") ) ); - assertTrue ( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.UsingADependencyClass") ) ); - assertTrue ( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.UsingSpecializedList") ) ); - assertTrue ( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.TMFile") ) ); - assertTrue ( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.TMFileSet") ) ); - assertFalse( looksLikeInstrumentedClass( cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.ImmutablePojo") ) ); - assertTrue ( looksLikeInstrumentedClass( cl.loadClass("to.instrument.Adult") ) ); - assertTrue ( looksLikeInstrumentedClass( cl.loadClass("to.instrument.UsingADependencyClass") ) ); - assertTrue ( looksLikeInstrumentedClass( cl.loadClass("to.instrument.UsingSpecializedList") ) ); - assertTrue ( looksLikeInstrumentedClass( cl.loadClass("to.instrument.TMFile") ) ); - assertTrue ( looksLikeInstrumentedClass( cl.loadClass("to.instrument.TMFileSet") ) ); - assertFalse( looksLikeInstrumentedClass( cl.loadClass("to.instrument.ImmutablePojo") ) ); - assertFalse( looksLikeInstrumentedClass( cl.loadClass("to.not.instrument.Adult") ) ); - assertFalse( looksLikeInstrumentedClass( cl.loadClass("to.not.instrument.UsingADependencyClass") ) ); - assertFalse( looksLikeInstrumentedClass( cl.loadClass("to.not.instrument.UsingSpecializedList") ) ); - assertFalse( looksLikeInstrumentedClass( cl.loadClass("to.not.instrument.TMFile") ) ); - assertFalse( looksLikeInstrumentedClass( cl.loadClass("to.not.instrument.TMFileSet") ) ); - assertFalse( looksLikeInstrumentedClass( cl.loadClass("to.not.instrument.ImmutablePojo") ) ); - } - - private boolean looksLikeInstrumentedClass(Class personClass) { - boolean foundReactiveObjectInterface = false; - for ( Class i : personClass.getInterfaces() ){ - if ( i.getName().equals(ReactiveObject.class.getName()) ) { - foundReactiveObjectInterface = true; - } - } - // the ReactiveObject interface method are injected by the bytecode instrumenter, better check they are indeed available.. - boolean containsGetLeftTuple = checkContainsMethod(personClass, "getLeftTuples"); - boolean containsAddLeftTuple = checkContainsMethod(personClass, "addLeftTuple"); - boolean containsRemoveLeftTuple = checkContainsMethod(personClass, "removeLeftTuple"); - - boolean foundReactiveInjectedMethods = false; - for ( Method m : personClass.getMethods() ){ - if ( m.getName().startsWith(BytecodeInjectReactive.DROOLS_PREFIX) ) { - foundReactiveInjectedMethods = true; - } - } - return foundReactiveObjectInterface - && containsGetLeftTuple && containsAddLeftTuple && containsRemoveLeftTuple - && foundReactiveInjectedMethods ; - } - - private boolean checkContainsMethod(Class personClass, Object methodName) { - for ( Method m : personClass.getMethods() ){ - if (m.getName().equals(methodName)) { - return true; - } - } - return false; - } - -} diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-xmlrule.xml b/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-xmlrule.xml deleted file mode 100644 index 5b6bc68818..0000000000 --- a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-xmlrule.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/kie-plugins-testing/pom.xml b/kie-plugins-testing/pom.xml new file mode 100644 index 0000000000..0634145e18 --- /dev/null +++ b/kie-plugins-testing/pom.xml @@ -0,0 +1,227 @@ + + + + 4.0.0 + + org.drools + droolsjbpm-integration + 7.2.0-SNAPSHOT + + + org.kie + kie-plugin-testing + takari-maven-plugin + + KIE :: Takari Plugin + + + + + maven-plugin-plugin + + kie + + + + io.takari.maven.plugins + takari-lifecycle-plugin + true + + none + + + + + + + + org.kie + kie-maven-plugin + + + org.kie + kie-takari-plugin + + + org.apache.maven + maven-artifact + + + org.apache.maven + maven-core + + + org.eclipse.sisu + org.eclipse.sisu.inject + + + org.eclipse.sisu + org.eclipse.sisu.plexus + + + + + org.apache.maven + maven-plugin-api + + + org.eclipse.sisu + org.eclipse.sisu.plexus + + + + + org.apache.maven.plugin-tools + maven-plugin-annotations + provided + + + org.codehaus.plexus + plexus-component-annotations + + + org.codehaus.plexus + plexus-classworlds + + + org.codehaus.plexus + plexus-container-default + + + log4j + log4j + + + commons-logging + commons-logging-api + + + + com.google.collections + google-collections + + + + + + org.slf4j + jcl-over-slf4j + runtime + + + + org.slf4j + log4j-over-slf4j + runtime + + + com.google.protobuf + protobuf-java + + + + org.drools + drools-core + + + org.drools + drools-compiler + + + org.kie + kie-api + + + org.kie + kie-internal + + + org.javassist + javassist + + + org.slf4j + slf4j-api + + + + org.drools + drools-decisiontables + runtime + + + org.drools + drools-templates + runtime + + + org.drools + drools-scorecards + runtime + + + org.drools + drools-pmml + runtime + + + org.jbpm + jbpm-bpmn2 + runtime + + + org.drools + drools-workbench-models-guided-dtable + runtime + + + org.drools + drools-workbench-models-guided-template + runtime + + + org.drools + drools-workbench-models-guided-scorecard + runtime + + + org.optaplanner + optaplanner-core + runtime + + + org.kie + kie-dmn-core + runtime + + + + org.apache.maven + maven-compat + test + + + org.eclipse.sisu + org.eclipse.sisu.plexus + + + + + io.takari.maven.plugins + takari-plugin-testing + test + + + + org.slf4j + slf4j-ext + test + + + ch.qos.logback + logback-classic + test + + + diff --git a/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/InjectReactiveMojoConfigTest.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/InjectReactiveMojoConfigTest.java new file mode 100644 index 0000000000..e8781aef3d --- /dev/null +++ b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/InjectReactiveMojoConfigTest.java @@ -0,0 +1,134 @@ +package org.drools.compiler.xpath.tobeinstrumented; + +import java.util.Arrays; +import java.util.List; + +import org.drools.core.phreak.ReactiveObject; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.Assert.*; +import static org.kie.maven.plugin.InjectReactiveMojo.convertAllToPkgRegExps; +import static org.kie.maven.plugin.InjectReactiveMojo.isPackageNameIncluded; + +public class InjectReactiveMojoConfigTest { + + private static Logger logger = LoggerFactory.getLogger(InjectReactiveMojoConfigTest.class); + + @Test + public void testRegexpForPackagesDefault() { + String[] inputConfig = new String[]{"*"}; + + List config = convertAllToPkgRegExps(inputConfig); + + logger.info(config.toString()); + + assertTrue(isPackageNameIncluded(Object.class.getPackage().getName(), + config)); + assertTrue(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), + config)); + assertTrue(isPackageNameIncluded("xyz.my", + config)); + } + + @Test + public void testRegexpForPackagesSingleNoStars() { + String[] inputConfig = new String[]{"org.drools"}; + + List config = convertAllToPkgRegExps(inputConfig); + + logger.info(config.toString()); + + assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), + config)); + assertFalse(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), + config)); + assertFalse(isPackageNameIncluded("xyz.my", + config)); + } + + @Test + public void testRegexpForPackagesMultipleNoStars() { + String[] inputConfig = new String[]{"org.drools", "xyz.my"}; + + List config = convertAllToPkgRegExps(inputConfig); + + logger.info(config.toString()); + + assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), + config)); + assertFalse(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), + config)); + assertTrue(isPackageNameIncluded("xyz.my", + config)); + } + + @Test + public void testRegexpForPackagesSingleStars() { + String[] inputConfig = new String[]{"org.drools.*"}; + + List config = convertAllToPkgRegExps(inputConfig); + + logger.info(config.toString()); + + assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), + config)); + assertTrue(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), + config)); + assertFalse(isPackageNameIncluded("xyz.my", + config)); + } + + @Test + public void testRegexpForPackagesMultipleStars() { + String[] inputConfig = new String[]{"org.drools.*", "xyz.my.*"}; + + List config = convertAllToPkgRegExps(inputConfig); + + logger.info(config.toString()); + + assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), + config)); + assertTrue(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), + config)); + assertTrue(isPackageNameIncluded("xyz.my", + config)); + } + + @Test + public void testRegexpForPackagesCheckPart() { + String[] inputConfig = new String[]{"my"}; + + List config = convertAllToPkgRegExps(inputConfig); + + logger.info(config.toString()); + + assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), + config)); + assertFalse(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), + config)); + assertFalse(isPackageNameIncluded("xyz.my", + config)); + } + + @Test + public void testRegexpForPackagesCheckNaming() { + String[] inputConfig = new String[]{"org.drools", "to.instrument.*"}; + + List config = convertAllToPkgRegExps(inputConfig); + + logger.info(config.toString()); + + assertFalse(isPackageNameIncluded(Object.class.getPackage().getName(), + config)); + assertFalse(isPackageNameIncluded(ReactiveObject.class.getPackage().getName(), + config)); + assertFalse(isPackageNameIncluded("xyz.my", + config)); + assertTrue(isPackageNameIncluded("to.instrument", + config)); + assertFalse(isPackageNameIncluded("to.not.instrument", + config)); + } +} diff --git a/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/XPathTest.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/XPathTest.java new file mode 100644 index 0000000000..4889ff77c3 --- /dev/null +++ b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/XPathTest.java @@ -0,0 +1,660 @@ +package org.drools.compiler.xpath.tobeinstrumented; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; + +import javassist.ClassPool; +import javassist.CtClass; +import org.drools.compiler.xpath.tobeinstrumented.model.Child; +import org.drools.compiler.xpath.tobeinstrumented.model.Man; +import org.drools.compiler.xpath.tobeinstrumented.model.PojoWithCollections; +import org.drools.compiler.xpath.tobeinstrumented.model.School; +import org.drools.compiler.xpath.tobeinstrumented.model.TMDirectory; +import org.drools.compiler.xpath.tobeinstrumented.model.TMFile; +import org.drools.compiler.xpath.tobeinstrumented.model.TMFileSet; +import org.drools.compiler.xpath.tobeinstrumented.model.Toy; +import org.drools.compiler.xpath.tobeinstrumented.model.Woman; +import org.drools.core.base.ClassObjectType; +import org.drools.core.common.InternalWorkingMemory; +import org.drools.core.impl.InternalKnowledgeBase; +import org.drools.core.phreak.ReactiveCollection; +import org.drools.core.phreak.ReactiveList; +import org.drools.core.phreak.ReactiveObject; +import org.drools.core.phreak.ReactiveSet; +import org.drools.core.reteoo.BetaMemory; +import org.drools.core.reteoo.EntryPointNode; +import org.drools.core.reteoo.LeftInputAdapterNode; +import org.drools.core.reteoo.LeftTuple; +import org.drools.core.reteoo.ObjectTypeNode; +import org.drools.core.reteoo.ReactiveFromNode; +import org.drools.core.reteoo.TupleMemory; +import org.drools.core.util.Iterator; +import org.junit.BeforeClass; +import org.junit.Test; +import org.kie.api.KieBase; +import org.kie.api.io.ResourceType; +import org.kie.api.runtime.KieSession; +import org.kie.internal.utils.KieHelper; +import org.kie.maven.plugin.BytecodeInjectReactive; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.Assert.*; + +public class XPathTest { + + private static final Logger LOG = LoggerFactory.getLogger(XPathTest.class); + + @BeforeClass + public static void init() throws Exception { + ClassPool cp = new ClassPool(null); + cp.appendSystemPath(); + cp.appendClassPath(BytecodeInjectReactive.classpathFromClass(ReactiveObject.class)); + + BytecodeInjectReactive enhancer = BytecodeInjectReactive.newInstance(cp); + + /* + BYTECODE LOADING WARNING: in the following, ensure class is passed as canonical String representation, + and NOT as a Clazz.class.getCanonicalName(). This is because yes technically it would be possible to + classload the new instrumented and bytecode injected class in a separate classloader + HOWEVER it would just make more trouble more down during actual testing. + This is because if here a class is identified as Clazz.class.getCanonicalName() + it would be classloaded and remain loaded as the original class, + hence later in the test there is no way to reload the same class as the bytecode instrumented version + which is the ultimate intention behind of these tests. + */ + byte[] personBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.Person"); + byte[] schoolBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.School"); + byte[] childBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.Child"); + byte[] tmfileBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.TMFile"); + byte[] tmfilesetBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.TMFileSet"); + byte[] tmdirectoryBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.TMDirectory"); + byte[] pojoWithCollectionsBytecode = enhancer.injectReactive("org.drools.compiler.xpath.tobeinstrumented.model.PojoWithCollections"); + + ClassPool cp2 = new ClassPool(null); + cp2.appendSystemPath(); + cp2.appendClassPath(BytecodeInjectReactive.classpathFromClass(ReactiveObject.class)); + + loadClassAndUtils(cp2, + personBytecode); + loadClassAndUtils(cp2, + childBytecode); + loadClassAndUtils(cp2, + schoolBytecode); + loadClassAndUtils(cp2, + tmfileBytecode); + loadClassAndUtils(cp2, + tmfilesetBytecode); + loadClassAndUtils(cp2, + tmdirectoryBytecode); + loadClassAndUtils(cp2, + pojoWithCollectionsBytecode); + } + + private static void loadClassAndUtils(ClassPool cp, + byte[] bytecode) throws Exception { + CtClass theCtClass = cp.makeClass(new ByteArrayInputStream(bytecode)); + Class class1 = theCtClass.toClass(); + + LOG.info("Bytecode-injected class for {} now having the following methods:", + theCtClass.getName()); + for (Method m : class1.getMethods()) { + LOG.info(" {}", + m); + } + + File dir = new File("./target/JAVASSIST/"); + dir.mkdirs(); + // please note it is INTENTIONAL to write the file with package name part of the file itself, for easier browsing + // anyway the directory is NOT intended for classloading, but just for browsing bytecode for decompilation. + File bytecodeFile = new File(dir, + theCtClass.getPackageName() + theCtClass.getName() + ".class"); + bytecodeFile.createNewFile(); + FileOutputStream fos = new FileOutputStream(bytecodeFile); + fos.write(bytecode); + fos.close(); + LOG.info("Written bytecode for {} in file: {}.", + theCtClass.getName(), + bytecodeFile); + } + + @Test + public void testPojoWithCollectionsBytecode() { + PojoWithCollections pojo = new PojoWithCollections(new ArrayList(), + new ArrayList(), + new HashSet()); + + LOG.info("testPojoWithCollectionsBytecode(): {}", + pojo); + + assertEquals(pojo.getFieldCollection().getClass(), + ReactiveCollection.class); + assertEquals(pojo.getFieldList().getClass(), + ReactiveList.class); + assertEquals(pojo.getFieldSet().getClass(), + ReactiveSet.class); + } + + /** + * Copied from drools-compiler. + */ + @Test + public void testReactiveOnLia() { + String drl = + "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + + "global java.util.List list\n" + + "\n" + + "rule R when\n" + + " Man( $toy: /wife/children[age > 10]/toys )\n" + + "then\n" + + " list.add( $toy.getName() );\n" + + "end\n"; + + KieSession ksession = new KieHelper().addContent(drl, + ResourceType.DRL) + .build() + .newKieSession(); + + List list = new ArrayList(); + ksession.setGlobal("list", + list); + + Woman alice = new Woman("Alice", + 38); + Man bob = new Man("Bob", + 40); + bob.setWife(alice); + + Child charlie = new Child("Charles", + 12); + Child debbie = new Child("Debbie", + 10); + alice.addChild(charlie); + alice.addChild(debbie); + + charlie.addToy(new Toy("car")); + charlie.addToy(new Toy("ball")); + debbie.addToy(new Toy("doll")); + + ksession.insert(bob); + ksession.fireAllRules(); + + assertEquals(2, + list.size()); + assertTrue(list.contains("car")); + assertTrue(list.contains("ball")); + + list.clear(); + debbie.setAge(11); + ksession.fireAllRules(); + + assertEquals(1, + list.size()); + assertTrue(list.contains("doll")); + } + + /** + * Copied from drools-compiler. + */ + @Test + public void testReactiveDeleteOnLia() { + String drl = + "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + + "global java.util.List list\n" + + "\n" + + "rule R when\n" + + " Man( $toy: /wife/children[age > 10]/toys )\n" + + "then\n" + + " list.add( $toy.getName() );\n" + + "end\n"; + + KieBase kbase = new KieHelper().addContent(drl, + ResourceType.DRL).build(); + KieSession ksession = kbase.newKieSession(); + + EntryPointNode epn = ((InternalKnowledgeBase) ksession.getKieBase()).getRete().getEntryPointNodes().values().iterator().next(); + ObjectTypeNode otn = epn.getObjectTypeNodes().values().stream() + .filter(ot -> ot.getObjectType() instanceof ClassObjectType && !((ClassObjectType) ot.getObjectType()).getClassName().contains("InitialFact")) + .findFirst().get(); + LeftInputAdapterNode lian = (LeftInputAdapterNode) otn.getObjectSinkPropagator().getSinks()[0]; + ReactiveFromNode from1 = (ReactiveFromNode) lian.getSinkPropagator().getSinks()[0]; + ReactiveFromNode from2 = (ReactiveFromNode) from1.getSinkPropagator().getSinks()[0]; + ReactiveFromNode from3 = (ReactiveFromNode) from2.getSinkPropagator().getSinks()[0]; + + BetaMemory betaMemory = ((InternalWorkingMemory) ksession).getNodeMemory(from3).getBetaMemory(); + + List list = new ArrayList(); + ksession.setGlobal("list", + list); + + Woman alice = new Woman("Alice", + 38); + Man bob = new Man("Bob", + 40); + bob.setWife(alice); + + Child charlie = new Child("Charles", + 12); + Child debbie = new Child("Debbie", + 11); + alice.addChild(charlie); + alice.addChild(debbie); + + charlie.addToy(new Toy("car")); + charlie.addToy(new Toy("ball")); + debbie.addToy(new Toy("doll")); + + ksession.insert(bob); + ksession.fireAllRules(); + + assertEquals(3, + list.size()); + assertTrue(list.contains("car")); + assertTrue(list.contains("ball")); + assertTrue(list.contains("doll")); + + TupleMemory tupleMemory = betaMemory.getLeftTupleMemory(); + assertEquals(2, + betaMemory.getLeftTupleMemory().size()); + Iterator it = tupleMemory.iterator(); + for (LeftTuple next = it.next(); next != null; next = it.next()) { + Object obj = next.getFactHandle().getObject(); + assertTrue(obj == charlie || obj == debbie); + } + + list.clear(); + debbie.setAge(10); + ksession.fireAllRules(); + + assertEquals(0, + list.size()); + + assertEquals(1, + betaMemory.getLeftTupleMemory().size()); + it = tupleMemory.iterator(); + for (LeftTuple next = it.next(); next != null; next = it.next()) { + Object obj = next.getFactHandle().getObject(); + assertTrue(obj == charlie); + } + } + + /** + * Copied from drools-compiler. + */ + @Test + public void testReactiveOnBeta() { + String drl = + "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + + "global java.util.List list\n" + + "\n" + + "rule R when\n" + + " $i : Integer()\n" + + " Man( $toy: /wife/children[age > $i]?/toys )\n" + + "then\n" + + " list.add( $toy.getName() );\n" + + "end\n"; + + KieSession ksession = new KieHelper().addContent(drl, + ResourceType.DRL) + .build() + .newKieSession(); + + List list = new ArrayList(); + ksession.setGlobal("list", + list); + + Woman alice = new Woman("Alice", + 38); + Man bob = new Man("Bob", + 40); + bob.setWife(alice); + + Child charlie = new Child("Charles", + 12); + Child debbie = new Child("Debbie", + 10); + alice.addChild(charlie); + alice.addChild(debbie); + + charlie.addToy(new Toy("car")); + charlie.addToy(new Toy("ball")); + debbie.addToy(new Toy("doll")); + + ksession.insert(10); + ksession.insert(bob); + ksession.fireAllRules(); + + assertEquals(2, + list.size()); + assertTrue(list.contains("car")); + assertTrue(list.contains("ball")); + + list.clear(); + debbie.setAge(11); + ksession.fireAllRules(); + + assertEquals(1, + list.size()); + assertTrue(list.contains("doll")); + } + + /** + * Copied from drools-compiler. + */ + @Test + public void testReactive2Rules() { + String drl = + "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + + "global java.util.List toyList\n" + + "global java.util.List teenagers\n" + + "\n" + + "rule R1 when\n" + + " $i : Integer()\n" + + " Man( $toy: /wife/children[age >= $i]/toys )\n" + + "then\n" + + " toyList.add( $toy.getName() );\n" + + "end\n" + + "rule R2 when\n" + + " School( $child: /children[age >= 13] )\n" + + "then\n" + + " teenagers.add( $child.getName() );\n" + + "end\n"; + + KieSession ksession = new KieHelper().addContent(drl, + ResourceType.DRL) + .build() + .newKieSession(); + + List toyList = new ArrayList(); + ksession.setGlobal("toyList", + toyList); + List teenagers = new ArrayList(); + ksession.setGlobal("teenagers", + teenagers); + + Woman alice = new Woman("Alice", + 38); + Man bob = new Man("Bob", + 40); + bob.setWife(alice); + + Child charlie = new Child("Charles", + 15); + Child debbie = new Child("Debbie", + 12); + alice.addChild(charlie); + alice.addChild(debbie); + + charlie.addToy(new Toy("car")); + charlie.addToy(new Toy("ball")); + debbie.addToy(new Toy("doll")); + + School school = new School("Da Vinci"); + school.addChild(charlie); + school.addChild(debbie); + + ksession.insert(13); + ksession.insert(bob); + ksession.insert(school); + ksession.fireAllRules(); + + assertEquals(2, + toyList.size()); + assertTrue(toyList.contains("car")); + assertTrue(toyList.contains("ball")); + + assertEquals(1, + teenagers.size()); + assertTrue(teenagers.contains("Charles")); + + toyList.clear(); + debbie.setAge(13); + ksession.fireAllRules(); + + assertEquals(1, + toyList.size()); + assertTrue(toyList.contains("doll")); + + assertEquals(2, + teenagers.size()); + assertTrue(teenagers.contains("Charles")); + assertTrue(teenagers.contains("Debbie")); + } + + /** + * Copied from drools-compiler ( fixed with DROOLS-1302 ) + */ + @Test + public void testListReactive() { + String drl = + "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + + "\n" + + "rule R2 when\n" + + " School( $child: /children[age >= 13 && age < 20] )\n" + + "then\n" + + " System.out.println( $child );\n" + + " insertLogical( $child );\n" + + "end\n"; + + KieSession ksession = new KieHelper().addContent(drl, + ResourceType.DRL) + .build() + .newKieSession(); + + Child charlie = new Child("Charles", + 15); + Child debbie = new Child("Debbie", + 19); + School school = new School("Da Vinci"); + school.addChild(charlie); + ksession.insert(school); + ksession.fireAllRules(); + assertTrue(ksession.getObjects().contains(charlie)); + assertFalse(ksession.getObjects().contains(debbie)); + + school.addChild(debbie); + ksession.fireAllRules(); + assertTrue(ksession.getObjects().contains(charlie)); + assertTrue(ksession.getObjects().contains(debbie)); + + school.removeChild(debbie); + ksession.fireAllRules(); + assertTrue(ksession.getObjects().contains(charlie)); + assertFalse(ksession.getObjects().contains(debbie)); + + school.addChild(debbie); + ksession.fireAllRules(); + assertTrue(ksession.getObjects().contains(charlie)); + assertTrue(ksession.getObjects().contains(debbie)); + + debbie.setAge(20); + ksession.fireAllRules(); + assertTrue(ksession.getObjects().contains(charlie)); + assertFalse(ksession.getObjects().contains(debbie)); + } + + private List factsCollection(KieSession ksession) { + List res = new ArrayList<>(); + res.addAll(ksession.getObjects()); + return res; + } + + /** + * Copied from drools-compiler + */ + @Test + public void testMiscSetMethods() { + String drl = + "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + + "\n" + + "rule R2 when\n" + + " TMFileSet( $id: name, $p: /files[size >= 100] )\n" + + "then\n" + + " System.out.println( $id + \".\" + $p.getName() );\n" + + " insertLogical( $id + \".\" + $p.getName() );\n" + + "end\n"; + + KieSession ksession = new KieHelper().addContent(drl, + ResourceType.DRL) + .build() + .newKieSession(); + + TMFileSet x = new TMFileSet("X"); + TMFileSet y = new TMFileSet("Y"); + ksession.insert(x); + ksession.insert(y); + ksession.fireAllRules(); + assertFalse(factsCollection(ksession).contains("X.File0")); + assertFalse(factsCollection(ksession).contains("X.File1")); + assertFalse(factsCollection(ksession).contains("Y.File0")); + assertFalse(factsCollection(ksession).contains("Y.File1")); + + TMFile file0 = new TMFile("File0", + 47); + TMFile file1 = new TMFile("File1", + 47); + TMFile file2 = new TMFile("File2", + 47); + x.getFiles().add(file2); + x.getFiles().addAll(Arrays.asList(new TMFile[]{file0, file1})); + y.getFiles().add(file2); + y.getFiles().add(file0); + y.getFiles().add(file1); + ksession.fireAllRules(); + assertFalse(factsCollection(ksession).contains("X.File0")); + assertFalse(factsCollection(ksession).contains("X.File1")); + assertFalse(factsCollection(ksession).contains("X.File2")); + assertFalse(factsCollection(ksession).contains("Y.File0")); + assertFalse(factsCollection(ksession).contains("Y.File1")); + assertFalse(factsCollection(ksession).contains("Y.File2")); + + file0.setSize(999); + ksession.fireAllRules(); + assertTrue(factsCollection(ksession).contains("X.File0")); + assertFalse(factsCollection(ksession).contains("X.File1")); + assertFalse(factsCollection(ksession).contains("X.File2")); + assertTrue(factsCollection(ksession).contains("Y.File0")); + assertFalse(factsCollection(ksession).contains("Y.File1")); + assertFalse(factsCollection(ksession).contains("Y.File2")); + + y.getFiles().remove(file1); // removing File1 from Y + file1.setSize(999); + ksession.fireAllRules(); + assertTrue(factsCollection(ksession).contains("X.File0")); + assertTrue(factsCollection(ksession).contains("X.File1")); + assertFalse(factsCollection(ksession).contains("X.File2")); + assertTrue(factsCollection(ksession).contains("Y.File0")); + assertFalse(factsCollection(ksession).contains("Y.File1")); + assertFalse(factsCollection(ksession).contains("Y.File2")); + + file2.setSize(999); + ksession.fireAllRules(); + assertTrue(factsCollection(ksession).contains("X.File0")); + assertTrue(factsCollection(ksession).contains("X.File1")); + assertTrue(factsCollection(ksession).contains("X.File2")); + assertTrue(factsCollection(ksession).contains("Y.File0")); + assertFalse(factsCollection(ksession).contains("Y.File1")); + assertTrue(factsCollection(ksession).contains("Y.File2")); + } + + /** + * Copied from drools-compiler + */ + @Test + public void testMiscListMethods() { + String drl = + "import org.drools.compiler.xpath.tobeinstrumented.model.*;\n" + + "\n" + + "rule R2 when\n" + + " TMDirectory( $id: name, $p: /files[size >= 100] )\n" + + "then\n" + + " System.out.println( $id + \".\" + $p.getName() );\n" + + " insertLogical( $id + \".\" + $p.getName() );\n" + + "end\n"; + + KieSession ksession = new KieHelper().addContent(drl, + ResourceType.DRL) + .build() + .newKieSession(); + + TMDirectory x = new TMDirectory("X"); + TMDirectory y = new TMDirectory("Y"); + ksession.insert(x); + ksession.insert(y); + ksession.fireAllRules(); + assertFalse(factsCollection(ksession).contains("X.File0")); + assertFalse(factsCollection(ksession).contains("X.File1")); + assertFalse(factsCollection(ksession).contains("Y.File0")); + assertFalse(factsCollection(ksession).contains("Y.File1")); + + TMFile file0 = new TMFile("File0", + 47); + TMFile file1 = new TMFile("File1", + 47); + TMFile file2 = new TMFile("File2", + 47); + x.getFiles().add(file2); + x.getFiles().addAll(0, + Arrays.asList(new TMFile[]{file0, file1})); + y.getFiles().add(0, + file2); + y.getFiles().add(0, + file0); + y.getFiles().add(1, + file1); + ksession.fireAllRules(); + assertFalse(factsCollection(ksession).contains("X.File0")); + assertFalse(factsCollection(ksession).contains("X.File1")); + assertFalse(factsCollection(ksession).contains("X.File2")); + assertFalse(factsCollection(ksession).contains("Y.File0")); + assertFalse(factsCollection(ksession).contains("Y.File1")); + assertFalse(factsCollection(ksession).contains("Y.File2")); + + file0.setSize(999); + ksession.fireAllRules(); + assertTrue(factsCollection(ksession).contains("X.File0")); + assertFalse(factsCollection(ksession).contains("X.File1")); + assertFalse(factsCollection(ksession).contains("X.File2")); + assertTrue(factsCollection(ksession).contains("Y.File0")); + assertFalse(factsCollection(ksession).contains("Y.File1")); + assertFalse(factsCollection(ksession).contains("Y.File2")); + + y.getFiles().remove(1); // removing File1 from Y + file1.setSize(999); + ksession.fireAllRules(); + assertTrue(factsCollection(ksession).contains("X.File0")); + assertTrue(factsCollection(ksession).contains("X.File1")); + assertFalse(factsCollection(ksession).contains("X.File2")); + assertTrue(factsCollection(ksession).contains("Y.File0")); + assertFalse(factsCollection(ksession).contains("Y.File1")); + assertFalse(factsCollection(ksession).contains("Y.File2")); + + file2.setSize(999); + ksession.fireAllRules(); + assertTrue(factsCollection(ksession).contains("X.File0")); + assertTrue(factsCollection(ksession).contains("X.File1")); + assertTrue(factsCollection(ksession).contains("X.File2")); + assertTrue(factsCollection(ksession).contains("Y.File0")); + assertFalse(factsCollection(ksession).contains("Y.File1")); + assertTrue(factsCollection(ksession).contains("Y.File2")); + + TMFile file0R = new TMFile("File0R", + 999); + x.getFiles().set(0, + file0R); + ksession.fireAllRules(); + assertFalse(factsCollection(ksession).contains("X.File0")); + assertTrue(factsCollection(ksession).contains("X.File0R")); + assertTrue(factsCollection(ksession).contains("X.File1")); + assertTrue(factsCollection(ksession).contains("X.File2")); + assertTrue(factsCollection(ksession).contains("Y.File0")); + assertFalse(factsCollection(ksession).contains("Y.File1")); + assertTrue(factsCollection(ksession).contains("Y.File2")); + } +} diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java similarity index 90% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java rename to kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java index 09dbbcae95..c53cf24d34 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java +++ b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java @@ -22,8 +22,10 @@ public class Adult extends Person { private final List children = new ArrayList(); - public Adult(String name, int age) { - super(name, age); + public Adult(String name, + int age) { + super(name, + age); } public List getChildren() { diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java similarity index 91% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java rename to kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java index a79b508584..63a9edde7c 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java +++ b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java @@ -20,12 +20,13 @@ public class Child extends Person { - private String mother; - private final List toys = new ArrayList(); + private String mother; - public Child(String name, int age) { - super(name, age); + public Child(String name, + int age) { + super(name, + age); } public List getToys() { diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java similarity index 89% rename from kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java rename to kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java index 663b3952f6..89d643f381 100644 --- a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java +++ b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java @@ -19,8 +19,10 @@ public class Man extends Adult { private Woman wife; - public Man(String name, int age) { - super(name, age); + public Man(String name, + int age) { + super(name, + age); } public Woman getWife() { diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java similarity index 94% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java rename to kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java index 6923dc1a1d..a5029ed7ed 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java +++ b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java @@ -20,7 +20,8 @@ public abstract class Person { private final String name; private int age; - public Person(String name, int age) { + public Person(String name, + int age) { this.name = name; this.age = age; } diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java similarity index 85% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java rename to kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java index bf57d5cb75..29ee077791 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java +++ b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java @@ -5,39 +5,35 @@ import java.util.Set; public class PojoWithCollections { + private final Collection fieldCollection; private final List fieldList; private final Set fieldSet; - - public PojoWithCollections(Collection fieldCollection, List fieldList, Set fieldSet) { - super(); + + public PojoWithCollections(Collection fieldCollection, + List fieldList, + Set fieldSet) { this.fieldCollection = fieldCollection; this.fieldList = fieldList; this.fieldSet = fieldSet; } - public Collection getFieldCollection() { return fieldCollection; } - public List getFieldList() { return fieldList; } - public Set getFieldSet() { return fieldSet; } - @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("PojoWithCollections [fieldCollection=").append(fieldCollection).append(", fieldList=").append(fieldList).append(", fieldSet=").append(fieldSet).append("]"); return builder.toString(); } - - } diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java similarity index 99% rename from kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java rename to kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java index 00ce2a9627..447e2790c1 100644 --- a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java +++ b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java @@ -39,7 +39,7 @@ public List getChildren() { public void addChild(Child child) { children.add(child); } - + public void removeChild(Child child) { children.remove(child); } diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java similarity index 100% rename from kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java rename to kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java index 3349634fd1..78dfab44be 100644 --- a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java +++ b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java @@ -18,8 +18,8 @@ import java.util.ArrayList; import java.util.List; - public class TMDirectory { + private final String name; private final List members = new ArrayList(); diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java similarity index 95% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java rename to kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java index f0e4aa2d1f..f445b7b76d 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java +++ b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java @@ -16,10 +16,12 @@ package org.drools.compiler.xpath.tobeinstrumented.model; public class TMFile { + private final String name; private int size; - public TMFile(String name, int size) { + public TMFile(String name, + int size) { this.name = name; this.size = size; } diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java similarity index 99% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java rename to kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java index fd642a134e..d6cd411490 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java +++ b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java @@ -19,6 +19,7 @@ import java.util.Set; public class TMFileSet { + private final String name; private final Set members = new HashSet(); diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java similarity index 100% rename from kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java rename to kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java similarity index 89% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java rename to kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java index 751adad1a2..8898fe18ec 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java +++ b/kie-plugins-testing/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java @@ -19,8 +19,10 @@ public class Woman extends Adult { private String husband; - public Woman(String name, int age) { - super(name, age); + public Woman(String name, + int age) { + super(name, + age); } public String getHusband() { diff --git a/kie-maven-plugin/src/test/java/org/kie/maven/plugin/AdditionalPropertiesIntegrationTest.java b/kie-plugins-testing/src/test/java/org/kie/maven/plugin/AdditionalPropertiesIntegrationTest.java similarity index 94% rename from kie-maven-plugin/src/test/java/org/kie/maven/plugin/AdditionalPropertiesIntegrationTest.java rename to kie-plugins-testing/src/test/java/org/kie/maven/plugin/AdditionalPropertiesIntegrationTest.java index 08b8d03bbf..c80efdbb4b 100644 --- a/kie-maven-plugin/src/test/java/org/kie/maven/plugin/AdditionalPropertiesIntegrationTest.java +++ b/kie-plugins-testing/src/test/java/org/kie/maven/plugin/AdditionalPropertiesIntegrationTest.java @@ -15,13 +15,14 @@ package org.kie.maven.plugin; +import java.io.File; + import io.takari.maven.testing.executor.MavenExecutionResult; import io.takari.maven.testing.executor.MavenRuntime; import org.junit.Test; -import java.io.File; - public class AdditionalPropertiesIntegrationTest extends KieMavenPluginBaseIntegrationTest { + public AdditionalPropertiesIntegrationTest(MavenRuntime.MavenRuntimeBuilder builder) throws Exception { super(builder); } @@ -31,7 +32,9 @@ public void testAdditionalPropertiesCorrectlySet() throws Exception { File basedir = resources.getBasedir("kjar-3-properties-only"); MavenExecutionResult result = mavenRuntime .forProject(basedir) - .execute("clean", "install", "-X"); + .execute("clean", + "install", + "-X"); result.assertErrorFreeLog(); // additional properties are logged during debug (-X) build // following string is created directly inside the KIE Maven plugin execution (the property names and values diff --git a/kie-maven-plugin/src/test/java/org/kie/maven/plugin/BuildMojoIntegrationTest.java b/kie-plugins-testing/src/test/java/org/kie/maven/plugin/BuildMojoIntegrationTest.java similarity index 94% rename from kie-maven-plugin/src/test/java/org/kie/maven/plugin/BuildMojoIntegrationTest.java rename to kie-plugins-testing/src/test/java/org/kie/maven/plugin/BuildMojoIntegrationTest.java index 58f4abfd0b..c91310aa4a 100644 --- a/kie-maven-plugin/src/test/java/org/kie/maven/plugin/BuildMojoIntegrationTest.java +++ b/kie-plugins-testing/src/test/java/org/kie/maven/plugin/BuildMojoIntegrationTest.java @@ -15,12 +15,12 @@ */ package org.kie.maven.plugin; +import java.io.File; + import io.takari.maven.testing.executor.MavenExecutionResult; import io.takari.maven.testing.executor.MavenRuntime; import org.junit.Test; -import java.io.File; - public class BuildMojoIntegrationTest extends KieMavenPluginBaseIntegrationTest { public BuildMojoIntegrationTest(MavenRuntime.MavenRuntimeBuilder builder) throws Exception { @@ -32,9 +32,9 @@ public void testCleanInstallWithAllSupportedResourceTypes() throws Exception { File basedir = resources.getBasedir("kjar-2-all-resources"); MavenExecutionResult result = mavenRuntime .forProject(basedir) - .execute("clean", "install"); + .execute("clean", + "install"); result.assertErrorFreeLog(); } - } diff --git a/kie-plugins-testing/src/test/java/org/kie/maven/plugin/InjectReactiveIntegrationTest.java b/kie-plugins-testing/src/test/java/org/kie/maven/plugin/InjectReactiveIntegrationTest.java new file mode 100644 index 0000000000..0251ba8f65 --- /dev/null +++ b/kie-plugins-testing/src/test/java/org/kie/maven/plugin/InjectReactiveIntegrationTest.java @@ -0,0 +1,154 @@ +package org.kie.maven.plugin; + +import java.io.File; +import java.io.FilenameFilter; +import java.lang.reflect.Method; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.ArrayList; +import java.util.List; + +import io.takari.maven.testing.executor.MavenExecutionResult; +import io.takari.maven.testing.executor.MavenRuntime; +import org.drools.core.phreak.ReactiveObject; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.Assert.*; + +public class InjectReactiveIntegrationTest extends KieMavenPluginBaseIntegrationTest { + + private static Logger logger = LoggerFactory.getLogger(InjectReactiveIntegrationTest.class); + + public InjectReactiveIntegrationTest(MavenRuntime.MavenRuntimeBuilder builder) throws Exception { + super(builder); + } + + @Test + public void testBasicBytecodeInjection() throws Exception { + File basedir = resources.getBasedir("kjar-4-bytecode-inject"); + MavenExecutionResult result = mavenRuntime + .forProject(basedir) + .execute("clean", + "install"); + result.assertErrorFreeLog(); + + File classDir = new File(basedir, + "target/classes"); + + logger.info(classDir.toString()); + + List classloadingURLs = new ArrayList<>(); + classloadingURLs.add(classDir.toURI().toURL()); + classloadingURLs.add(new File(BytecodeInjectReactive.classpathFromClass(ReactiveObject.class)).toURI().toURL()); + File libDir = new File(basedir, + "target/lib"); + for (File jar : libDir.listFiles(new FilenameFilter() { + public boolean accept(File dir, + String name) { + return name.endsWith(".jar"); + } + })) { + classloadingURLs.add(jar.toURI().toURL()); + } + + ClassLoader cl = new URLClassLoader(classloadingURLs.toArray(new URL[]{}), + null); + + assertTrue(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.Adult"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.UsingADependencyClass"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.UsingSpecializedList"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.TMFile"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.TMFileSet"))); + assertFalse(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.ImmutablePojo"))); + assertFalse(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.FieldIsNotListInterface"))); + } + + @Test + public void testBasicBytecodeInjectionSelected() throws Exception { + File basedir = resources.getBasedir("kjar-5-bytecode-inject-selected"); + MavenExecutionResult result = mavenRuntime + .forProject(basedir) + .execute("clean", + "install"); + result.assertErrorFreeLog(); + + File classDir = new File(basedir, + "target/classes"); + + logger.info(classDir.toString()); + + List classloadingURLs = new ArrayList<>(); + classloadingURLs.add(classDir.toURI().toURL()); + classloadingURLs.add(new File(BytecodeInjectReactive.classpathFromClass(ReactiveObject.class)).toURI().toURL()); + File libDir = new File(basedir, + "target/lib"); + for (File jar : libDir.listFiles(new FilenameFilter() { + public boolean accept(File dir, + String name) { + return name.endsWith(".jar"); + } + })) { + classloadingURLs.add(jar.toURI().toURL()); + } + + ClassLoader cl = new URLClassLoader(classloadingURLs.toArray(new URL[]{}), + null); + + assertTrue(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.Adult"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.UsingADependencyClass"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.UsingSpecializedList"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.TMFile"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.TMFileSet"))); + assertFalse(looksLikeInstrumentedClass(cl.loadClass("org.drools.compiler.xpath.tobeinstrumented.model.ImmutablePojo"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("to.instrument.Adult"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("to.instrument.UsingADependencyClass"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("to.instrument.UsingSpecializedList"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("to.instrument.TMFile"))); + assertTrue(looksLikeInstrumentedClass(cl.loadClass("to.instrument.TMFileSet"))); + assertFalse(looksLikeInstrumentedClass(cl.loadClass("to.instrument.ImmutablePojo"))); + assertFalse(looksLikeInstrumentedClass(cl.loadClass("to.not.instrument.Adult"))); + assertFalse(looksLikeInstrumentedClass(cl.loadClass("to.not.instrument.UsingADependencyClass"))); + assertFalse(looksLikeInstrumentedClass(cl.loadClass("to.not.instrument.UsingSpecializedList"))); + assertFalse(looksLikeInstrumentedClass(cl.loadClass("to.not.instrument.TMFile"))); + assertFalse(looksLikeInstrumentedClass(cl.loadClass("to.not.instrument.TMFileSet"))); + assertFalse(looksLikeInstrumentedClass(cl.loadClass("to.not.instrument.ImmutablePojo"))); + } + + private boolean looksLikeInstrumentedClass(Class personClass) { + boolean foundReactiveObjectInterface = false; + for (Class i : personClass.getInterfaces()) { + if (i.getName().equals(ReactiveObject.class.getName())) { + foundReactiveObjectInterface = true; + } + } + // the ReactiveObject interface method are injected by the bytecode instrumenter, better check they are indeed available.. + boolean containsGetLeftTuple = checkContainsMethod(personClass, + "getLeftTuples"); + boolean containsAddLeftTuple = checkContainsMethod(personClass, + "addLeftTuple"); + boolean containsRemoveLeftTuple = checkContainsMethod(personClass, + "removeLeftTuple"); + + boolean foundReactiveInjectedMethods = false; + for (Method m : personClass.getMethods()) { + if (m.getName().startsWith(BytecodeInjectReactive.DROOLS_PREFIX)) { + foundReactiveInjectedMethods = true; + } + } + return foundReactiveObjectInterface + && containsGetLeftTuple && containsAddLeftTuple && containsRemoveLeftTuple + && foundReactiveInjectedMethods; + } + + private boolean checkContainsMethod(Class personClass, + Object methodName) { + for (Method m : personClass.getMethods()) { + if (m.getName().equals(methodName)) { + return true; + } + } + return false; + } +} diff --git a/kie-maven-plugin/src/test/java/org/kie/maven/plugin/KieMavenPluginBaseIntegrationTest.java b/kie-plugins-testing/src/test/java/org/kie/maven/plugin/KieMavenPluginBaseIntegrationTest.java similarity index 66% rename from kie-maven-plugin/src/test/java/org/kie/maven/plugin/KieMavenPluginBaseIntegrationTest.java rename to kie-plugins-testing/src/test/java/org/kie/maven/plugin/KieMavenPluginBaseIntegrationTest.java index d10d971573..4d6380e6ff 100644 --- a/kie-maven-plugin/src/test/java/org/kie/maven/plugin/KieMavenPluginBaseIntegrationTest.java +++ b/kie-plugins-testing/src/test/java/org/kie/maven/plugin/KieMavenPluginBaseIntegrationTest.java @@ -15,15 +15,18 @@ package org.kie.maven.plugin; +import java.io.File; + import io.takari.maven.testing.TestResources; import io.takari.maven.testing.executor.MavenRuntime; import io.takari.maven.testing.executor.MavenVersions; import io.takari.maven.testing.executor.junit.MavenJUnitTestRunner; +import org.junit.Assert; import org.junit.Rule; import org.junit.runner.RunWith; @RunWith(MavenJUnitTestRunner.class) -@MavenVersions({"3.2.5", "3.3.9", "3.5.0"}) +@MavenVersions({"3.3.9", "3.5.0"}) abstract public class KieMavenPluginBaseIntegrationTest { @Rule @@ -39,4 +42,19 @@ public KieMavenPluginBaseIntegrationTest(MavenRuntime.MavenRuntimeBuilder builde .build(); } + protected File getBasedir(String projectName) throws Exception { + return resources.getBasedir(projectName); + } + + protected void prepareTakariPom(String projectName) throws Exception { + File basedir = getBasedir(projectName); + File pmTakari = new File(basedir + "/pom-takari.xml"); + Assert.assertTrue(pmTakari.renameTo(new File(basedir + "/pom.xml"))); + } + + protected void restoreKiePom(String projectName) throws Exception { + File basedir = getBasedir(projectName); + File pmTakari = new File(basedir + "/pom-kie.xml"); + Assert.assertTrue(pmTakari.renameTo(new File(basedir + "/pom.xml"))); + } } diff --git a/kie-maven-plugin/src/test/java/org/kie/maven/plugin/SerializeMojoIntegrationTest.java b/kie-plugins-testing/src/test/java/org/kie/maven/plugin/SerializeMojoIntegrationTest.java similarity index 91% rename from kie-maven-plugin/src/test/java/org/kie/maven/plugin/SerializeMojoIntegrationTest.java rename to kie-plugins-testing/src/test/java/org/kie/maven/plugin/SerializeMojoIntegrationTest.java index e989e2e519..fffee346de 100644 --- a/kie-maven-plugin/src/test/java/org/kie/maven/plugin/SerializeMojoIntegrationTest.java +++ b/kie-plugins-testing/src/test/java/org/kie/maven/plugin/SerializeMojoIntegrationTest.java @@ -15,13 +15,13 @@ package org.kie.maven.plugin; +import java.io.File; + import io.takari.maven.testing.executor.MavenExecutionResult; import io.takari.maven.testing.executor.MavenRuntime; import org.junit.Ignore; import org.junit.Test; -import java.io.File; - @Ignore("The test takes insane amount of time (minutes) to complete, because the serialization takes into account" + "also huge amount of DRLs coming from drools-pmml. Will be investigated and fixed by psiroky.") public class SerializeMojoIntegrationTest extends KieMavenPluginBaseIntegrationTest { @@ -32,11 +32,11 @@ public SerializeMojoIntegrationTest(MavenRuntime.MavenRuntimeBuilder builder) th @Test public void testCleanInstallWithSerialize() throws Exception { - File basedir = resources.getBasedir("kjar-1-with-serialize"); + File basedir = getBasedir("kjar-1-with-serialize"); MavenExecutionResult result = mavenRuntime .forProject(basedir) - .execute("clean", "install"); + .execute("clean", + "install"); result.assertErrorFreeLog(); } - } diff --git a/kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/AdditionalPropertiesIntegrationTakariTest.java b/kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/AdditionalPropertiesIntegrationTakariTest.java new file mode 100644 index 0000000000..c6942702c5 --- /dev/null +++ b/kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/AdditionalPropertiesIntegrationTakariTest.java @@ -0,0 +1,46 @@ +/* + * Copyright 2015 Red Hat, Inc. and/or its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * + * 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. +*/ + +package org.kie.maven.takari.plugin; + +import io.takari.maven.testing.executor.MavenRuntime; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.kie.maven.plugin.AdditionalPropertiesIntegrationTest; + +public class AdditionalPropertiesIntegrationTakariTest extends AdditionalPropertiesIntegrationTest { + + private String projectName = "kjar-3-properties-only"; + + public AdditionalPropertiesIntegrationTakariTest(MavenRuntime.MavenRuntimeBuilder builder) throws Exception { + super(builder); + } + + @Before + public void preparePom() throws Exception { + prepareTakariPom(projectName); + } + + @After + public void restorePom() throws Exception { + restoreKiePom(projectName); + } + + @Test + public void testAdditionalPropertiesCorrectlySet() throws Exception { + super.testAdditionalPropertiesCorrectlySet(); + } +} diff --git a/kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/BuildMojoIntegrationTakariTest.java b/kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/BuildMojoIntegrationTakariTest.java new file mode 100644 index 0000000000..63ab97f60d --- /dev/null +++ b/kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/BuildMojoIntegrationTakariTest.java @@ -0,0 +1,47 @@ +/* + * Copyright 2015 Red Hat, Inc. and/or its affiliates. + * + * Licensed 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. + */ +package org.kie.maven.takari.plugin; + +import io.takari.maven.testing.executor.MavenRuntime; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.kie.maven.plugin.BuildMojoIntegrationTest; + +public class BuildMojoIntegrationTakariTest extends BuildMojoIntegrationTest { + + private String projectName = "kjar-2-all-resources"; + + public BuildMojoIntegrationTakariTest(MavenRuntime.MavenRuntimeBuilder builder) throws Exception { + super(builder); + } + + @Before + public void preparePom() throws Exception { + prepareTakariPom(projectName); + } + + @After + public void restorePom() throws Exception { + restoreKiePom(projectName); + } + + @Test + public void testCleanInstallWithAllSupportedResourceTypes() throws Exception { + super.testCleanInstallWithAllSupportedResourceTypes(); + } +} + diff --git a/kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/InjectReactiveIntegrationTakariTest.java b/kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/InjectReactiveIntegrationTakariTest.java new file mode 100644 index 0000000000..ce5c2622cc --- /dev/null +++ b/kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/InjectReactiveIntegrationTakariTest.java @@ -0,0 +1,36 @@ +package org.kie.maven.takari.plugin; + +import io.takari.maven.testing.executor.MavenRuntime; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.kie.maven.plugin.InjectReactiveIntegrationTest; + +public class InjectReactiveIntegrationTakariTest extends InjectReactiveIntegrationTest { + + private String projectName = "kjar-4-bytecode-inject"; + + public InjectReactiveIntegrationTakariTest(MavenRuntime.MavenRuntimeBuilder builder) throws Exception { + super(builder); + } + + @Before + public void preparePom() throws Exception { + prepareTakariPom(projectName); + } + + @After + public void restorePom() throws Exception { + restoreKiePom(projectName); + } + + @Test + public void testBasicBytecodeInjection() throws Exception { + super.testBasicBytecodeInjection(); + } + + @Test + public void testBasicBytecodeInjectionSelected() throws Exception { + super.testBasicBytecodeInjectionSelected(); + } +} diff --git a/kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/SerializeMojoIntegrationTakariTest.java b/kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/SerializeMojoIntegrationTakariTest.java new file mode 100644 index 0000000000..ed7facc593 --- /dev/null +++ b/kie-plugins-testing/src/test/java/org/kie/maven/takari/plugin/SerializeMojoIntegrationTakariTest.java @@ -0,0 +1,49 @@ +/* + * Copyright 2015 Red Hat, Inc. and/or its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * + * 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. +*/ + +package org.kie.maven.takari.plugin; + +import io.takari.maven.testing.executor.MavenRuntime; +import org.junit.After; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.kie.maven.plugin.SerializeMojoIntegrationTest; + +@Ignore("The test takes insane amount of time (minutes) to complete, because the serialization takes into account" + + "also huge amount of DRLs coming from drools-pmml. Will be investigated and fixed by psiroky.") +public class SerializeMojoIntegrationTakariTest extends SerializeMojoIntegrationTest { + + private String projectName = "kjar-1-with-serialize"; + + public SerializeMojoIntegrationTakariTest(MavenRuntime.MavenRuntimeBuilder builder) throws Exception { + super(builder); + } + + @Before + public void preparePom() throws Exception { + prepareTakariPom(projectName); + } + + @After + public void restorePom() throws Exception { + restoreKiePom(projectName); + } + + @Test + public void testCleanInstallWithSerialize() throws Exception { + super.testCleanInstallWithSerialize(); + } +} diff --git a/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/pom-kie.xml b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/pom-kie.xml new file mode 100644 index 0000000000..d13ccf24df --- /dev/null +++ b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/pom-kie.xml @@ -0,0 +1,69 @@ + + + + 4.0.0 + + org.kie + kie-maven-plugin-test-kjar-1 + 1.0.0.Final + + kjar + + + + + org.drools + drools-bom + + ${it-plugin.version} + import + pom + + + + + + + org.drools + drools-core + test + + + org.drools + drools-compiler + test + + + junit + junit + 4.12 + + + + + + + org.kie + kie-maven-plugin + ${it-plugin.version} + true + + + serialize + + serialize + + compile + + + KBase1 + + ${project.build.outputDirectory} + + + + + + + diff --git a/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/pom-takari.xml b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/pom-takari.xml new file mode 100644 index 0000000000..77849aa2c9 --- /dev/null +++ b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/pom-takari.xml @@ -0,0 +1,69 @@ + + + + 4.0.0 + + org.kie + kie-maven-plugin-test-kjar-1 + 1.0.0.Final + + kjar + + + + + org.drools + drools-bom + + ${it-plugin.version} + import + pom + + + + + + + org.drools + drools-core + test + + + org.drools + drools-compiler + test + + + junit + junit + 4.12 + + + + + + + org.kie + kie-takari-plugin + ${it-plugin.version} + true + + + serialize + + serialize + + compile + + + KBase1 + + ${project.build.outputDirectory} + + + + + + + diff --git a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/pom.xml b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/pom.xml similarity index 94% rename from kie-maven-plugin/src/test/projects/kjar-1-with-serialize/pom.xml rename to kie-plugins-testing/src/test/projects/kjar-1-with-serialize/pom.xml index b718a76c96..d13ccf24df 100644 --- a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/pom.xml +++ b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/pom.xml @@ -1,5 +1,5 @@ - 4.0.0 diff --git a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Fire.java b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Fire.java similarity index 97% rename from kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Fire.java rename to kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Fire.java index 2991c9742e..827926429f 100644 --- a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Fire.java +++ b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Fire.java @@ -19,7 +19,8 @@ public class Fire { private Room room; - public Fire() { } + public Fire() { + } public Fire(Room room) { this.room = room; diff --git a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Room.java b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Room.java similarity index 92% rename from kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Room.java rename to kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Room.java index 80c291e979..e89c9a1bfd 100644 --- a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Room.java +++ b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Room.java @@ -19,7 +19,8 @@ public class Room { private String name; - public Room() { } + public Room() { + } public Room(String name) { this.name = name; @@ -40,7 +41,9 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (!(obj instanceof Room)) { return false; } + if (!(obj instanceof Room)) { + return false; + } return name.equals(((Room) obj).getName()); } diff --git a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Sprinkler.java b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Sprinkler.java similarity index 92% rename from kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Sprinkler.java rename to kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Sprinkler.java index f0e22eee1d..89fbcd68ea 100644 --- a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Sprinkler.java +++ b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/java/org/kie/sample/model/Sprinkler.java @@ -20,7 +20,8 @@ public class Sprinkler { private Room room; private boolean on = false; - public Sprinkler() { } + public Sprinkler() { + } public Sprinkler(Room room) { this.room = room; @@ -49,7 +50,9 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (!(obj instanceof Sprinkler)) { return false; } + if (!(obj instanceof Sprinkler)) { + return false; + } return room.equals(((Sprinkler) obj).getRoom()); } diff --git a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/alarm.drl b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/alarm.drl similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/alarm.drl rename to kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/alarm.drl diff --git a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/rules.drl b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/rules.drl similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/rules.drl rename to kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/rules.drl diff --git a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/rules2.drl b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/rules2.drl similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/rules2.drl rename to kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/FireAlarmKBase/rules2.drl diff --git a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/decA.drl b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/decA.drl similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/decA.drl rename to kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/decA.drl diff --git a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/decB.drl b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/decB.drl similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/decB.drl rename to kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/decB.drl diff --git a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/rule.drl b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/rule.drl similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/rule.drl rename to kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/KBase1/rule.drl diff --git a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/META-INF/kmodule.xml b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/META-INF/kmodule.xml similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/main/resources/META-INF/kmodule.xml rename to kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/main/resources/META-INF/kmodule.xml diff --git a/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/pom.xml b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/pom.xml new file mode 100644 index 0000000000..d13ccf24df --- /dev/null +++ b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/pom.xml @@ -0,0 +1,69 @@ + + + + 4.0.0 + + org.kie + kie-maven-plugin-test-kjar-1 + 1.0.0.Final + + kjar + + + + + org.drools + drools-bom + + ${it-plugin.version} + import + pom + + + + + + + org.drools + drools-core + test + + + org.drools + drools-compiler + test + + + junit + junit + 4.12 + + + + + + + org.kie + kie-maven-plugin + ${it-plugin.version} + true + + + serialize + + serialize + + compile + + + KBase1 + + ${project.build.outputDirectory} + + + + + + + diff --git a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/test/java/org/kie/kproject/KProjectTest.java b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/test/java/org/kie/kproject/KProjectTest.java similarity index 91% rename from kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/test/java/org/kie/kproject/KProjectTest.java rename to kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/test/java/org/kie/kproject/KProjectTest.java index da8ace78f3..5a229a00e6 100644 --- a/kie-maven-plugin/src/test/projects/kjar-1-with-serialize/src/test/java/org/kie/kproject/KProjectTest.java +++ b/kie-plugins-testing/src/test/projects/kjar-1-with-serialize/src/test/java/org/kie/kproject/KProjectTest.java @@ -15,7 +15,6 @@ */ package org.kie.kproject; -import org.junit.Ignore; import org.junit.Test; import org.kie.api.KieServices; import org.kie.api.runtime.KieContainer; @@ -25,7 +24,7 @@ import org.kie.sample.model.Room; import org.kie.sample.model.Sprinkler; -import static org.junit.Assert.assertEquals; +import static org.junit.Assert.*; public class KProjectTest { @@ -43,10 +42,12 @@ public void testKJar() throws Exception { FactHandle fireFH = kSession.insert(fire); int rules = kSession.fireAllRules(); - assertEquals(2, rules); + assertEquals(2, + rules); kSession.delete(fireFH); rules = kSession.fireAllRules(); - assertEquals(3, rules); + assertEquals(3, + rules); } } diff --git a/kie-plugins-testing/src/test/projects/kjar-2-all-resources/pom-kie.xml b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/pom-kie.xml new file mode 100644 index 0000000000..aa5052d0fc --- /dev/null +++ b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/pom-kie.xml @@ -0,0 +1,28 @@ + + + + 4.0.0 + + org.kie + kie-maven-plugin-test-kjar-2 + 1.0.0.Final + + kjar + + + + + org.kie + kie-maven-plugin + ${it-plugin.version} + true + + + 1.6 + + + + + + diff --git a/kie-plugins-testing/src/test/projects/kjar-2-all-resources/pom-takari.xml b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/pom-takari.xml new file mode 100644 index 0000000000..115513957d --- /dev/null +++ b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/pom-takari.xml @@ -0,0 +1,28 @@ + + + + 4.0.0 + + org.kie + kie-maven-plugin-test-kjar-2 + 1.0.0.Final + + kjar + + + + + org.kie + kie-takari-plugin + ${it-plugin.version} + true + + + 1.6 + + + + + + diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/pom.xml b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/pom.xml similarity index 88% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/pom.xml rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/pom.xml index dd2a1adb86..aa5052d0fc 100644 --- a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/pom.xml +++ b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/pom.xml @@ -1,5 +1,5 @@ - 4.0.0 diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/java/org/kie/maven/plugin/test/Person.java b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/java/org/kie/maven/plugin/test/Person.java similarity index 99% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/java/org/kie/maven/plugin/test/Person.java rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/java/org/kie/maven/plugin/test/Person.java index 3582bd0e3f..389b85285e 100644 --- a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/java/org/kie/maven/plugin/test/Person.java +++ b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/java/org/kie/maven/plugin/test/Person.java @@ -16,6 +16,7 @@ package org.kie.maven.plugin.test; public class Person { + private int id; private String name; private boolean adult; diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dmn.dmn b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dmn.dmn similarity index 97% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dmn.dmn rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dmn.dmn index 6478b02882..498d0e83f6 100644 --- a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dmn.dmn +++ b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dmn.dmn @@ -1,34 +1,34 @@ - - - - - - - - - - - "Hello " + Full Name - - - - - - + + + + + + + + + + + "Hello " + Full Name + + + + + + diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dsl.dsl b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dsl.dsl similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dsl.dsl rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dsl.dsl diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dslr.dslr b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dslr.dslr similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dslr.dslr rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dslr.dslr diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dtable-template.txls b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dtable-template.txls similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dtable-template.txls rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dtable-template.txls diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dtable.xls b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dtable.xls similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dtable.xls rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-dtable.xls diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable-with-dsl.dsl b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable-with-dsl.dsl similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable-with-dsl.dsl rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable-with-dsl.dsl diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable-with-dsl.gdst b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable-with-dsl.gdst similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable-with-dsl.gdst rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable-with-dsl.gdst diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable.gdst b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable.gdst similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable.gdst rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-guided-dtable.gdst diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-pmml.pmml b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-pmml.pmml similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-pmml.pmml rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-pmml.pmml diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-process.bpmn2 b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-process.bpmn2 similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-process.bpmn2 rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-process.bpmn2 diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-rule-template.template b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-rule-template.template similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-rule-template.template rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-rule-template.template diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-rules.drl b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-rules.drl similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-rules.drl rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-rules.drl diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-scorecard.sxls b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-scorecard.sxls similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-scorecard.sxls rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-scorecard.sxls diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-template.drt b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-template.drt similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-template.drt rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-template.drt diff --git a/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-xmlrule.xml b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-xmlrule.xml new file mode 100644 index 0000000000..a98bb3c019 --- /dev/null +++ b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/AllResourceTypes/simple-xmlrule.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/META-INF/kmodule.xml b/kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/META-INF/kmodule.xml similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-2-all-resources/src/main/resources/META-INF/kmodule.xml rename to kie-plugins-testing/src/test/projects/kjar-2-all-resources/src/main/resources/META-INF/kmodule.xml diff --git a/kie-plugins-testing/src/test/projects/kjar-3-properties-only/pom-kie.xml b/kie-plugins-testing/src/test/projects/kjar-3-properties-only/pom-kie.xml new file mode 100644 index 0000000000..63854df9d8 --- /dev/null +++ b/kie-plugins-testing/src/test/projects/kjar-3-properties-only/pom-kie.xml @@ -0,0 +1,29 @@ + + + + 4.0.0 + + org.kie + kie-maven-plugin-test-kjar-3 + 1.0.0.Final + + kjar + + + + + org.kie + kie-maven-plugin + ${it-plugin.version} + true + + + 1.6 + some-value + + + + + + diff --git a/kie-plugins-testing/src/test/projects/kjar-3-properties-only/pom-takari.xml b/kie-plugins-testing/src/test/projects/kjar-3-properties-only/pom-takari.xml new file mode 100644 index 0000000000..ec59011479 --- /dev/null +++ b/kie-plugins-testing/src/test/projects/kjar-3-properties-only/pom-takari.xml @@ -0,0 +1,29 @@ + + + + 4.0.0 + + org.kie + kie-maven-plugin-test-kjar-3 + 1.0.0.Final + + kjar + + + + + org.kie + kie-takari-plugin + ${it-plugin.version} + true + + + 1.6 + some-value + + + + + + diff --git a/kie-maven-plugin/src/test/projects/kjar-3-properties-only/pom.xml b/kie-plugins-testing/src/test/projects/kjar-3-properties-only/pom.xml similarity index 88% rename from kie-maven-plugin/src/test/projects/kjar-3-properties-only/pom.xml rename to kie-plugins-testing/src/test/projects/kjar-3-properties-only/pom.xml index 3501c52137..63854df9d8 100644 --- a/kie-maven-plugin/src/test/projects/kjar-3-properties-only/pom.xml +++ b/kie-plugins-testing/src/test/projects/kjar-3-properties-only/pom.xml @@ -1,5 +1,5 @@ - 4.0.0 diff --git a/kie-maven-plugin/src/test/projects/kjar-3-properties-only/src/main/resources/META-INF/kmodule.xml b/kie-plugins-testing/src/test/projects/kjar-3-properties-only/src/main/resources/META-INF/kmodule.xml similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-3-properties-only/src/main/resources/META-INF/kmodule.xml rename to kie-plugins-testing/src/test/projects/kjar-3-properties-only/src/main/resources/META-INF/kmodule.xml diff --git a/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/pom-kie.xml b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/pom-kie.xml new file mode 100644 index 0000000000..7d9130a3d2 --- /dev/null +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/pom-kie.xml @@ -0,0 +1,64 @@ + + + + 4.0.0 + + org.kie + kie-maven-plugin-test-kjar-4 + 1.0.0.Final + + kjar + + + UTF-8 + + + + + org.apache.commons + commons-math3 + 3.2 + + + org.magicwerk + brownies-collections + 0.9.13 + + + + + + + org.kie + kie-maven-plugin + ${it-plugin.version} + true + + true + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.10 + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory}/lib + false + false + true + + + + + + + diff --git a/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/pom-takari.xml b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/pom-takari.xml new file mode 100644 index 0000000000..004ab03a24 --- /dev/null +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/pom-takari.xml @@ -0,0 +1,64 @@ + + + + 4.0.0 + + org.kie + kie-maven-plugin-test-kjar-4 + 1.0.0.Final + + kjar + + + UTF-8 + + + + + org.apache.commons + commons-math3 + 3.2 + + + org.magicwerk + brownies-collections + 0.9.13 + + + + + + + org.kie + kie-takari-plugin + ${it-plugin.version} + true + + true + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.10 + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory}/lib + false + false + true + + + + + + + diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/pom.xml b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/pom.xml similarity index 79% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/pom.xml rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/pom.xml index c380d89966..7d9130a3d2 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/pom.xml +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/pom.xml @@ -1,5 +1,5 @@ - 4.0.0 @@ -9,21 +9,21 @@ 1.0.0.Final kjar - + UTF-8 - + - - org.apache.commons - commons-math3 - 3.2 - - org.magicwerk - brownies-collections - 0.9.13 + org.apache.commons + commons-math3 + 3.2 + + + org.magicwerk + brownies-collections + 0.9.13 @@ -35,7 +35,7 @@ ${it-plugin.version} true - true + true diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java similarity index 90% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java index 09dbbcae95..c53cf24d34 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java @@ -22,8 +22,10 @@ public class Adult extends Person { private final List children = new ArrayList(); - public Adult(String name, int age) { - super(name, age); + public Adult(String name, + int age) { + super(name, + age); } public List getChildren() { diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java similarity index 91% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java index a79b508584..63a9edde7c 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java @@ -20,12 +20,13 @@ public class Child extends Person { - private String mother; - private final List toys = new ArrayList(); + private String mother; - public Child(String name, int age) { - super(name, age); + public Child(String name, + int age) { + super(name, + age); } public List getToys() { diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldIsNotListInterface.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldIsNotListInterface.java similarity index 98% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldIsNotListInterface.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldIsNotListInterface.java index 3b3e411664..e9f4a00e6f 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldIsNotListInterface.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldIsNotListInterface.java @@ -25,9 +25,8 @@ public class FieldIsNotListInterface { public FieldIsNotListInterface() { myField = new ArrayList(); } - + public List getMyField() { return myField; } - } diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldsSomeInterfacesSomeNot.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldsSomeInterfacesSomeNot.java similarity index 98% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldsSomeInterfacesSomeNot.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldsSomeInterfacesSomeNot.java index 951fcf606a..a06a405d9f 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldsSomeInterfacesSomeNot.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/FieldsSomeInterfacesSomeNot.java @@ -28,11 +28,11 @@ public class FieldsSomeInterfacesSomeNot { public FieldsSomeInterfacesSomeNot() { myField = new ArrayList(); } - + public List getMyField() { return myField; } - + public void setMyField(ArrayList myField) { this.myField = myField; } @@ -40,7 +40,7 @@ public void setMyField(ArrayList myField) { public List getMyField2() { return myField2; } - + public void setMyField2(List myField2) { this.myField2 = myField2; } @@ -48,9 +48,8 @@ public void setMyField2(List myField2) { public Collection getMyField3() { return myField3; } - + public void setMyField3(Collection myField3) { this.myField3 = myField3; } - } diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java similarity index 92% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java index fc9dc13076..72064892e4 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java @@ -20,7 +20,8 @@ public abstract class ImmutablePojo { private final String name; private final int age; - public ImmutablePojo(String name, int age) { + public ImmutablePojo(String name, + int age) { this.name = name; this.age = age; } @@ -32,5 +33,4 @@ public String getName() { public int getAge() { return age; } - } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java similarity index 89% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java index 663b3952f6..89d643f381 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java @@ -19,8 +19,10 @@ public class Man extends Adult { private Woman wife; - public Man(String name, int age) { - super(name, age); + public Man(String name, + int age) { + super(name, + age); } public Woman getWife() { diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java similarity index 94% rename from kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java index 6923dc1a1d..a5029ed7ed 100644 --- a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java @@ -20,7 +20,8 @@ public abstract class Person { private final String name; private int age; - public Person(String name, int age) { + public Person(String name, + int age) { this.name = name; this.age = age; } diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java similarity index 86% rename from kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java index bf57d5cb75..946811b891 100644 --- a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/PojoWithCollections.java @@ -5,39 +5,36 @@ import java.util.Set; public class PojoWithCollections { + private final Collection fieldCollection; private final List fieldList; private final Set fieldSet; - - public PojoWithCollections(Collection fieldCollection, List fieldList, Set fieldSet) { + + public PojoWithCollections(Collection fieldCollection, + List fieldList, + Set fieldSet) { super(); this.fieldCollection = fieldCollection; this.fieldList = fieldList; this.fieldSet = fieldSet; } - public Collection getFieldCollection() { return fieldCollection; } - public List getFieldList() { return fieldList; } - public Set getFieldSet() { return fieldSet; } - @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("PojoWithCollections [fieldCollection=").append(fieldCollection).append(", fieldList=").append(fieldList).append(", fieldSet=").append(fieldSet).append("]"); return builder.toString(); } - - } diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java similarity index 99% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java index 00ce2a9627..447e2790c1 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java @@ -39,7 +39,7 @@ public List getChildren() { public void addChild(Child child) { children.add(child); } - + public void removeChild(Child child) { children.remove(child); } diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java index 3349634fd1..78dfab44be 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java @@ -18,8 +18,8 @@ import java.util.ArrayList; import java.util.List; - public class TMDirectory { + private final String name; private final List members = new ArrayList(); diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java similarity index 95% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java index f0e4aa2d1f..f445b7b76d 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java @@ -16,10 +16,12 @@ package org.drools.compiler.xpath.tobeinstrumented.model; public class TMFile { + private final String name; private int size; - public TMFile(String name, int size) { + public TMFile(String name, + int size) { this.name = name; this.size = size; } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java similarity index 99% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java index fd642a134e..d6cd411490 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java @@ -19,6 +19,7 @@ import java.util.Set; public class TMFileSet { + private final String name; private final Set members = new HashSet(); diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java similarity index 90% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java index 089de135b5..f9c37bf26b 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java @@ -4,24 +4,24 @@ import org.apache.commons.math3.ml.clustering.Clusterable; public class UsingADependencyClass { + private final String name; private Cluster aCluster; public UsingADependencyClass(String name) { super(); this.name = name; - this.aCluster = new Cluster(); + this.aCluster = new Cluster(); } public String getName() { return name; } - public Cluster getaCluster() { return aCluster; } - + public void setACluster(Cluster aCluster) { this.aCluster = aCluster; } diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java similarity index 92% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java index 8fef0077f4..53beeae970 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java @@ -5,8 +5,9 @@ import org.magicwerk.brownies.collections.GapList; public class UsingSpecializedList { + private final String name; - private List gapList; + private List gapList; public UsingSpecializedList(String name) { super(); @@ -18,13 +19,10 @@ public String getName() { return name; } - public List getGapList() { if (gapList == null) { gapList = new GapList(); } return gapList; } - - } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java similarity index 89% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java index 751adad1a2..8898fe18ec 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java +++ b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java @@ -19,8 +19,10 @@ public class Woman extends Adult { private String husband; - public Woman(String name, int age) { - super(name, age); + public Woman(String name, + int age) { + super(name, + age); } public String getHusband() { diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/resources/META-INF/kmodule.xml b/kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/resources/META-INF/kmodule.xml similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/resources/META-INF/kmodule.xml rename to kie-plugins-testing/src/test/projects/kjar-4-bytecode-inject/src/main/resources/META-INF/kmodule.xml diff --git a/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/pom-kie.xml b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/pom-kie.xml new file mode 100644 index 0000000000..f385a88d23 --- /dev/null +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/pom-kie.xml @@ -0,0 +1,69 @@ + + + + 4.0.0 + + org.kie + kie-maven-plugin-test-kjar-5 + 1.0.0.Final + + kjar + + + UTF-8 + + + + + org.apache.commons + commons-math3 + 3.2 + + + org.magicwerk + brownies-collections + 0.9.13 + + + + + + + org.kie + kie-maven-plugin + ${it-plugin.version} + true + + true + true + + to.instrument + org.drools.compiler.xpath.tobeinstrumented.* + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.10 + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory}/lib + false + false + true + + + + + + + diff --git a/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/pom-takari.xml b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/pom-takari.xml new file mode 100644 index 0000000000..43082aaa8b --- /dev/null +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/pom-takari.xml @@ -0,0 +1,69 @@ + + + + 4.0.0 + + org.kie + kie-maven-plugin-test-kjar-5 + 1.0.0.Final + + kjar + + + UTF-8 + + + + + org.apache.commons + commons-math3 + 3.2 + + + org.magicwerk + brownies-collections + 0.9.13 + + + + + + + org.kie + kie-takari-plugin + ${it-plugin.version} + true + + true + true + + to.instrument + org.drools.compiler.xpath.tobeinstrumented.* + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.10 + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory}/lib + false + false + true + + + + + + + diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/pom.xml b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/pom.xml similarity index 69% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/pom.xml rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/pom.xml index 1996cb26c2..f385a88d23 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/pom.xml +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/pom.xml @@ -1,5 +1,5 @@ - 4.0.0 @@ -9,21 +9,21 @@ 1.0.0.Final kjar - + UTF-8 - + - - org.apache.commons - commons-math3 - 3.2 - - org.magicwerk - brownies-collections - 0.9.13 + org.apache.commons + commons-math3 + 3.2 + + + org.magicwerk + brownies-collections + 0.9.13 @@ -35,12 +35,12 @@ ${it-plugin.version} true - true - true - - to.instrument - org.drools.compiler.xpath.tobeinstrumented.* - + true + true + + to.instrument + org.drools.compiler.xpath.tobeinstrumented.* + diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java similarity index 90% rename from kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java index 09dbbcae95..c53cf24d34 100644 --- a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Adult.java @@ -22,8 +22,10 @@ public class Adult extends Person { private final List children = new ArrayList(); - public Adult(String name, int age) { - super(name, age); + public Adult(String name, + int age) { + super(name, + age); } public List getChildren() { diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java similarity index 91% rename from kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java index a79b508584..63a9edde7c 100644 --- a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Child.java @@ -20,12 +20,13 @@ public class Child extends Person { - private String mother; - private final List toys = new ArrayList(); + private String mother; - public Child(String name, int age) { - super(name, age); + public Child(String name, + int age) { + super(name, + age); } public List getToys() { diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java similarity index 92% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java index fc9dc13076..72064892e4 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/ImmutablePojo.java @@ -20,7 +20,8 @@ public abstract class ImmutablePojo { private final String name; private final int age; - public ImmutablePojo(String name, int age) { + public ImmutablePojo(String name, + int age) { this.name = name; this.age = age; } @@ -32,5 +33,4 @@ public String getName() { public int getAge() { return age; } - } diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java similarity index 89% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java index 663b3952f6..89d643f381 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Man.java @@ -19,8 +19,10 @@ public class Man extends Adult { private Woman wife; - public Man(String name, int age) { - super(name, age); + public Man(String name, + int age) { + super(name, + age); } public Woman getWife() { diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java similarity index 94% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java index 6923dc1a1d..a5029ed7ed 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Person.java @@ -20,7 +20,8 @@ public abstract class Person { private final String name; private int age; - public Person(String name, int age) { + public Person(String name, + int age) { this.name = name; this.age = age; } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java similarity index 99% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java index 00ce2a9627..447e2790c1 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/School.java @@ -39,7 +39,7 @@ public List getChildren() { public void addChild(Child child) { children.add(child); } - + public void removeChild(Child child) { children.remove(child); } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java index 3349634fd1..78dfab44be 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMDirectory.java @@ -18,8 +18,8 @@ import java.util.ArrayList; import java.util.List; - public class TMDirectory { + private final String name; private final List members = new ArrayList(); diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java similarity index 95% rename from kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java index f0e4aa2d1f..f445b7b76d 100644 --- a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFile.java @@ -16,10 +16,12 @@ package org.drools.compiler.xpath.tobeinstrumented.model; public class TMFile { + private final String name; private int size; - public TMFile(String name, int size) { + public TMFile(String name, + int size) { this.name = name; this.size = size; } diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java similarity index 99% rename from kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java index fd642a134e..d6cd411490 100644 --- a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/TMFileSet.java @@ -19,6 +19,7 @@ import java.util.Set; public class TMFileSet { + private final String name; private final Set members = new HashSet(); diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Toy.java diff --git a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java similarity index 90% rename from kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java index 4c7d604c7c..f9c37bf26b 100644 --- a/kie-maven-plugin/src/test/projects/kjar-4-bytecode-inject/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingADependencyClass.java @@ -4,26 +4,25 @@ import org.apache.commons.math3.ml.clustering.Clusterable; public class UsingADependencyClass { + private final String name; private Cluster aCluster; public UsingADependencyClass(String name) { super(); this.name = name; - this.aCluster = new Cluster(); + this.aCluster = new Cluster(); } public String getName() { return name; } - public Cluster getaCluster() { return aCluster; } - + public void setACluster(Cluster aCluster) { this.aCluster = aCluster; } - } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java similarity index 92% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java index 8fef0077f4..53beeae970 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/UsingSpecializedList.java @@ -5,8 +5,9 @@ import org.magicwerk.brownies.collections.GapList; public class UsingSpecializedList { + private final String name; - private List gapList; + private List gapList; public UsingSpecializedList(String name) { super(); @@ -18,13 +19,10 @@ public String getName() { return name; } - public List getGapList() { if (gapList == null) { gapList = new GapList(); } return gapList; } - - } diff --git a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java similarity index 89% rename from kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java index 751adad1a2..8898fe18ec 100644 --- a/kie-maven-plugin/src/test/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/org/drools/compiler/xpath/tobeinstrumented/model/Woman.java @@ -19,8 +19,10 @@ public class Woman extends Adult { private String husband; - public Woman(String name, int age) { - super(name, age); + public Woman(String name, + int age) { + super(name, + age); } public String getHusband() { diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Adult.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Adult.java similarity index 90% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Adult.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Adult.java index 25e41940a8..503b63d804 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Adult.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Adult.java @@ -22,8 +22,10 @@ public class Adult extends Person { private final List children = new ArrayList(); - public Adult(String name, int age) { - super(name, age); + public Adult(String name, + int age) { + super(name, + age); } public List getChildren() { diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Child.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Child.java similarity index 91% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Child.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Child.java index ceff3a9ddf..0a3b338dcb 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Child.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Child.java @@ -20,12 +20,13 @@ public class Child extends Person { - private String mother; - private final List toys = new ArrayList(); + private String mother; - public Child(String name, int age) { - super(name, age); + public Child(String name, + int age) { + super(name, + age); } public List getToys() { diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/ImmutablePojo.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/ImmutablePojo.java similarity index 92% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/ImmutablePojo.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/ImmutablePojo.java index e4a6558552..4de9461c6b 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/ImmutablePojo.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/ImmutablePojo.java @@ -20,7 +20,8 @@ public abstract class ImmutablePojo { private final String name; private final int age; - public ImmutablePojo(String name, int age) { + public ImmutablePojo(String name, + int age) { this.name = name; this.age = age; } @@ -32,5 +33,4 @@ public String getName() { public int getAge() { return age; } - } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Man.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Man.java similarity index 89% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Man.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Man.java index 584626a09d..11eabe7681 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Man.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Man.java @@ -19,8 +19,10 @@ public class Man extends Adult { private Woman wife; - public Man(String name, int age) { - super(name, age); + public Man(String name, + int age) { + super(name, + age); } public Woman getWife() { diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Person.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Person.java similarity index 94% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Person.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Person.java index ee3ad57b83..ebfea7c012 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Person.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Person.java @@ -20,7 +20,8 @@ public abstract class Person { private final String name; private int age; - public Person(String name, int age) { + public Person(String name, + int age) { this.name = name; this.age = age; } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/School.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/School.java similarity index 99% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/School.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/School.java index 6b268f81c1..59692aba92 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/School.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/School.java @@ -39,7 +39,7 @@ public List getChildren() { public void addChild(Child child) { children.add(child); } - + public void removeChild(Child child) { children.remove(child); } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMDirectory.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMDirectory.java similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMDirectory.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMDirectory.java index 07b1d2a81b..5bf09d52bf 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMDirectory.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMDirectory.java @@ -18,8 +18,8 @@ import java.util.ArrayList; import java.util.List; - public class TMDirectory { + private final String name; private final List members = new ArrayList(); diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFile.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFile.java similarity index 94% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFile.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFile.java index 6c7426f959..7f8f343ef8 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFile.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFile.java @@ -16,10 +16,12 @@ package to.instrument; public class TMFile { + private final String name; private int size; - public TMFile(String name, int size) { + public TMFile(String name, + int size) { this.name = name; this.size = size; } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFileSet.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFileSet.java similarity index 99% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFileSet.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFileSet.java index b36684f3cd..6b6f839a91 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFileSet.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/TMFileSet.java @@ -19,6 +19,7 @@ import java.util.Set; public class TMFileSet { + private final String name; private final Set members = new HashSet(); diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Toy.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Toy.java similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Toy.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Toy.java diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingADependencyClass.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingADependencyClass.java similarity index 90% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingADependencyClass.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingADependencyClass.java index b3e673bfa6..ccae711021 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingADependencyClass.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingADependencyClass.java @@ -4,24 +4,24 @@ import org.apache.commons.math3.ml.clustering.Clusterable; public class UsingADependencyClass { + private final String name; private Cluster aCluster; public UsingADependencyClass(String name) { super(); this.name = name; - this.aCluster = new Cluster(); + this.aCluster = new Cluster(); } public String getName() { return name; } - public Cluster getaCluster() { return aCluster; } - + public void setACluster(Cluster aCluster) { this.aCluster = aCluster; } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingSpecializedList.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingSpecializedList.java similarity index 92% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingSpecializedList.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingSpecializedList.java index 57d515b892..595c17faf8 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingSpecializedList.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/UsingSpecializedList.java @@ -5,8 +5,9 @@ import org.magicwerk.brownies.collections.GapList; public class UsingSpecializedList { + private final String name; - private List gapList; + private List gapList; public UsingSpecializedList(String name) { super(); @@ -18,13 +19,10 @@ public String getName() { return name; } - public List getGapList() { if (gapList == null) { gapList = new GapList(); } return gapList; } - - } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Woman.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Woman.java similarity index 89% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Woman.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Woman.java index 29a8965e7d..40141aa2bc 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Woman.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/instrument/Woman.java @@ -19,8 +19,10 @@ public class Woman extends Adult { private String husband; - public Woman(String name, int age) { - super(name, age); + public Woman(String name, + int age) { + super(name, + age); } public String getHusband() { diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Adult.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Adult.java similarity index 90% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Adult.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Adult.java index 776fb01930..3927b8b550 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Adult.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Adult.java @@ -22,8 +22,10 @@ public class Adult extends Person { private final List children = new ArrayList(); - public Adult(String name, int age) { - super(name, age); + public Adult(String name, + int age) { + super(name, + age); } public List getChildren() { diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Child.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Child.java similarity index 91% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Child.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Child.java index bba2cd0b71..fc049e90f3 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Child.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Child.java @@ -20,12 +20,13 @@ public class Child extends Person { - private String mother; - private final List toys = new ArrayList(); + private String mother; - public Child(String name, int age) { - super(name, age); + public Child(String name, + int age) { + super(name, + age); } public List getToys() { diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/ImmutablePojo.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/ImmutablePojo.java similarity index 92% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/ImmutablePojo.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/ImmutablePojo.java index e6368f146b..343e4f1d0a 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/ImmutablePojo.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/ImmutablePojo.java @@ -20,7 +20,8 @@ public abstract class ImmutablePojo { private final String name; private final int age; - public ImmutablePojo(String name, int age) { + public ImmutablePojo(String name, + int age) { this.name = name; this.age = age; } @@ -32,5 +33,4 @@ public String getName() { public int getAge() { return age; } - } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Man.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Man.java similarity index 89% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Man.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Man.java index 088f16d435..c3a5a968cf 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Man.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Man.java @@ -19,8 +19,10 @@ public class Man extends Adult { private Woman wife; - public Man(String name, int age) { - super(name, age); + public Man(String name, + int age) { + super(name, + age); } public Woman getWife() { diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Person.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Person.java similarity index 94% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Person.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Person.java index 33626c8f13..c3b7043434 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Person.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Person.java @@ -20,7 +20,8 @@ public abstract class Person { private final String name; private int age; - public Person(String name, int age) { + public Person(String name, + int age) { this.name = name; this.age = age; } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/School.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/School.java similarity index 99% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/School.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/School.java index 327488f0e0..8163e18f5d 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/School.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/School.java @@ -39,7 +39,7 @@ public List getChildren() { public void addChild(Child child) { children.add(child); } - + public void removeChild(Child child) { children.remove(child); } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMDirectory.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMDirectory.java similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMDirectory.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMDirectory.java index 44cea5627a..648f9ed23a 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMDirectory.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMDirectory.java @@ -18,8 +18,8 @@ import java.util.ArrayList; import java.util.List; - public class TMDirectory { + private final String name; private final List members = new ArrayList(); diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFile.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFile.java similarity index 94% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFile.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFile.java index 695f6854f6..b1bac1ef7a 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFile.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFile.java @@ -16,10 +16,12 @@ package to.not.instrument; public class TMFile { + private final String name; private int size; - public TMFile(String name, int size) { + public TMFile(String name, + int size) { this.name = name; this.size = size; } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFileSet.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFileSet.java similarity index 99% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFileSet.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFileSet.java index ce9bc49611..205080a0a8 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFileSet.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/TMFileSet.java @@ -19,6 +19,7 @@ import java.util.Set; public class TMFileSet { + private final String name; private final Set members = new HashSet(); diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Toy.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Toy.java similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Toy.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Toy.java diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingADependencyClass.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingADependencyClass.java similarity index 89% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingADependencyClass.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingADependencyClass.java index b059ce31af..3f40388ed8 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingADependencyClass.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingADependencyClass.java @@ -4,26 +4,25 @@ import org.apache.commons.math3.ml.clustering.Clusterable; public class UsingADependencyClass { + private final String name; private Cluster aCluster; public UsingADependencyClass(String name) { super(); this.name = name; - this.aCluster = new Cluster(); + this.aCluster = new Cluster(); } public String getName() { return name; } - public Cluster getaCluster() { return aCluster; } - + public void setACluster(Cluster aCluster) { this.aCluster = aCluster; } - } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingSpecializedList.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingSpecializedList.java similarity index 92% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingSpecializedList.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingSpecializedList.java index 7009949db2..0a2ebd2533 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingSpecializedList.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/UsingSpecializedList.java @@ -5,8 +5,9 @@ import org.magicwerk.brownies.collections.GapList; public class UsingSpecializedList { + private final String name; - private List gapList; + private List gapList; public UsingSpecializedList(String name) { super(); @@ -18,13 +19,10 @@ public String getName() { return name; } - public List getGapList() { if (gapList == null) { gapList = new GapList(); } return gapList; } - - } diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Woman.java b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Woman.java similarity index 89% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Woman.java rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Woman.java index 95af06d07d..a4a4533bd8 100644 --- a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Woman.java +++ b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/java/to/not/instrument/Woman.java @@ -19,8 +19,10 @@ public class Woman extends Adult { private String husband; - public Woman(String name, int age) { - super(name, age); + public Woman(String name, + int age) { + super(name, + age); } public String getHusband() { diff --git a/kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/resources/META-INF/kmodule.xml b/kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/resources/META-INF/kmodule.xml similarity index 100% rename from kie-maven-plugin/src/test/projects/kjar-5-bytecode-inject-selected/src/main/resources/META-INF/kmodule.xml rename to kie-plugins-testing/src/test/projects/kjar-5-bytecode-inject-selected/src/main/resources/META-INF/kmodule.xml diff --git a/kie-plugins-testing/src/test/resources/logback-test.xml b/kie-plugins-testing/src/test/resources/logback-test.xml new file mode 100644 index 0000000000..c38e845309 --- /dev/null +++ b/kie-plugins-testing/src/test/resources/logback-test.xml @@ -0,0 +1,20 @@ + + + + + + + + %d [%t] %-5p %m%n + + + + + + + + + + + + \ No newline at end of file diff --git a/kie-takari-plugin/.gitignore b/kie-takari-plugin/.gitignore new file mode 100644 index 0000000000..222af0cf11 --- /dev/null +++ b/kie-takari-plugin/.gitignore @@ -0,0 +1,10 @@ +/target +/local + +# Eclipse, Netbeans and IntelliJ files +/.* +!.gitignore +/nbproject +/*.ipr +/*.iws +/*.iml diff --git a/kie-takari-plugin/pom.xml b/kie-takari-plugin/pom.xml new file mode 100644 index 0000000000..742c1b6300 --- /dev/null +++ b/kie-takari-plugin/pom.xml @@ -0,0 +1,231 @@ + + + + 4.0.0 + + org.drools + droolsjbpm-integration + 7.2.0-SNAPSHOT + + + org.kie + kie-takari-plugin + takari-maven-plugin + + KIE :: Takari Plugin + + + + + maven-plugin-plugin + + kie + + + + io.takari.maven.plugins + takari-lifecycle-plugin + true + + none + + + + + + + + org.kie + kie-maven-plugin + + + org.apache.maven + maven-artifact + + + org.apache.maven + maven-core + + + org.eclipse.sisu + org.eclipse.sisu.inject + + + org.eclipse.sisu + org.eclipse.sisu.plexus + + + + + org.apache.maven + maven-plugin-api + + + org.eclipse.sisu + org.eclipse.sisu.plexus + + + + + org.apache.maven.plugin-tools + maven-plugin-annotations + provided + + + org.codehaus.plexus + plexus-component-annotations + + + org.codehaus.plexus + plexus-classworlds + + + org.codehaus.plexus + plexus-container-default + + + log4j + log4j + + + commons-logging + commons-logging-api + + + + com.google.collections + google-collections + + + + + + org.slf4j + jcl-over-slf4j + runtime + + + + org.slf4j + log4j-over-slf4j + runtime + + + com.google.protobuf + protobuf-java + + + + org.drools + drools-core + + + org.drools + drools-compiler + + + org.kie + kie-api + + + org.kie + kie-internal + + + org.javassist + javassist + + + org.slf4j + slf4j-api + + + + org.drools + drools-decisiontables + runtime + + + org.drools + drools-templates + runtime + + + org.drools + drools-scorecards + runtime + + + org.drools + drools-pmml + runtime + + + org.jbpm + jbpm-bpmn2 + runtime + + + org.drools + drools-workbench-models-guided-dtable + runtime + + + org.drools + drools-workbench-models-guided-template + runtime + + + org.drools + drools-workbench-models-guided-scorecard + runtime + + + org.optaplanner + optaplanner-core + runtime + + + org.kie + kie-dmn-core + runtime + + + org.apache.commons + commons-compress + + + org.apache.commons + commons-exec + + + + org.apache.maven + maven-compat + test + + + org.eclipse.sisu + org.eclipse.sisu.plexus + + + + + io.takari.maven.plugins + takari-plugin-testing + test + + + + org.slf4j + slf4j-ext + test + + + ch.qos.logback + logback-classic + test + + + diff --git a/kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/BuildMojo.java b/kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/BuildMojo.java new file mode 100644 index 0000000000..6e0f076f4c --- /dev/null +++ b/kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/BuildMojo.java @@ -0,0 +1,31 @@ +/* + * Copyright 2015 Red Hat, Inc. and/or its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * + * 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. +*/ + +package org.kie.maven.takari.plugin; + +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.ResolutionScope; + +/** + * This goal builds the Drools files belonging to the kproject with incremental compilation. + */ +@Mojo(name = "build", + requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME, + requiresProject = true, + defaultPhase = LifecyclePhase.COMPILE) +public class BuildMojo extends org.kie.maven.plugin.BuildMojo { + +} diff --git a/kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/InjectReactiveMojo.java b/kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/InjectReactiveMojo.java new file mode 100644 index 0000000000..106400539e --- /dev/null +++ b/kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/InjectReactiveMojo.java @@ -0,0 +1,30 @@ +/* + * Copyright 2015 Red Hat, Inc. and/or its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * + * 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. +*/ +package org.kie.maven.takari.plugin; + +import org.apache.maven.plugins.annotations.Execute; +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.ResolutionScope; + +@Mojo(name = "injectreactive", + requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME, + requiresProject = true, + defaultPhase = LifecyclePhase.COMPILE) +@Execute(goal = "injectreactive", + phase = LifecyclePhase.COMPILE) +public class InjectReactiveMojo extends org.kie.maven.plugin.InjectReactiveMojo { + +} diff --git a/kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/SerializeMojo.java b/kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/SerializeMojo.java new file mode 100644 index 0000000000..f609bc8491 --- /dev/null +++ b/kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/SerializeMojo.java @@ -0,0 +1,32 @@ +/* + * Copyright 2015 Red Hat, Inc. and/or its affiliates. + * + * Licensed 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. + */ +package org.kie.maven.takari.plugin; + +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.ResolutionScope; + +/** + * Compiles and serializes knowledge bases. + */ +@Mojo(name = "serialize", + requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME, + requiresProject = true, + defaultPhase = LifecyclePhase.COMPILE, + configurator = "include-project-dependencies") +public class SerializeMojo extends org.kie.maven.plugin.SerializeMojo { + +} diff --git a/kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/TouchResourcesMojo.java b/kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/TouchResourcesMojo.java new file mode 100644 index 0000000000..adc3299657 --- /dev/null +++ b/kie-takari-plugin/src/main/java/org/kie/maven/takari/plugin/TouchResourcesMojo.java @@ -0,0 +1,29 @@ +/* + * Copyright 2015 Red Hat, Inc. and/or its affiliates. + * + * Licensed 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. + */ +package org.kie.maven.takari.plugin; + +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; + +/** + * Compiles and serializes knowledge packages. + */ +@Mojo(name = "touch", + requiresProject = true, + defaultPhase = LifecyclePhase.GENERATE_RESOURCES) +public class TouchResourcesMojo extends org.kie.maven.plugin.TouchResourcesMojo { + +} diff --git a/kie-takari-plugin/src/main/resources/META-INF/plexus/components.xml b/kie-takari-plugin/src/main/resources/META-INF/plexus/components.xml new file mode 100644 index 0000000000..1fe29fc3c2 --- /dev/null +++ b/kie-takari-plugin/src/main/resources/META-INF/plexus/components.xml @@ -0,0 +1,40 @@ + + + + + + org.apache.maven.lifecycle.mapping.LifecycleMapping + kjar + org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping + + + org.apache.maven.plugins:maven-resources-plugin:resources + io.takari.maven.plugins:takari-lifecycle-plugin:compile,org.kie:kie-takari-plugin:build + + org.kie:kie-takari-plugin:injectreactive + org.apache.maven.plugins:maven-resources-plugin:testResources + io.takari.maven.plugins:takari-lifecycle-plugin:testCompile + org.apache.maven.plugins:maven-surefire-plugin:test + org.apache.maven.plugins:maven-jar-plugin:jar + org.apache.maven.plugins:maven-install-plugin:install + org.apache.maven.plugins:maven-deploy-plugin:deploy + + + + + + org.apache.maven.artifact.handler.ArtifactHandler + kjar + org.apache.maven.artifact.handler.DefaultArtifactHandler + + kjar + jar + jar + java + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index d7aa33f2ed..ba3ac8e268 100644 --- a/pom.xml +++ b/pom.xml @@ -51,6 +51,7 @@ kie-identity-session-provider kie-maven-plugin + kie-takari-plugin @@ -74,6 +75,7 @@ kie-integration-test-coverage + kie-plugins-testing