├── cli ├── .gitignore ├── src │ ├── site │ │ ├── markdown │ │ │ └── .gitkeep │ │ └── site.xml │ ├── test │ │ ├── resources │ │ │ ├── checklists │ │ │ │ ├── .gitkeep │ │ │ │ └── test_module │ │ │ │ │ ├── META-INF │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ ├── test-checklist.json │ │ │ │ │ └── test_module-handler.js │ │ │ ├── simple-content │ │ │ │ ├── .gitkeep │ │ │ │ ├── META-INF │ │ │ │ │ └── vault │ │ │ │ │ │ ├── filter.xml │ │ │ │ │ │ ├── nodetypes.cnd │ │ │ │ │ │ └── properties.xml │ │ │ │ └── jcr_root │ │ │ │ │ ├── etc │ │ │ │ │ └── example │ │ │ │ │ │ └── .content.xml │ │ │ │ │ └── content │ │ │ │ │ └── example │ │ │ │ │ └── .content.xml │ │ │ └── opears │ │ │ │ ├── emptyplan │ │ │ │ └── plan.json │ │ │ │ ├── adhocPlan │ │ │ │ ├── repoinit2.txt │ │ │ │ ├── repoinit1.txt │ │ │ │ ├── plan.json │ │ │ │ └── echo.js │ │ │ │ ├── runModesPlan │ │ │ │ └── plan.json │ │ │ │ ├── hooksPlan │ │ │ │ └── plan.json │ │ │ │ └── simpleEcho │ │ │ │ ├── plan.json │ │ │ │ ├── other-plan.json │ │ │ │ ├── META-INF │ │ │ │ └── MANIFEST.MF │ │ │ │ └── echo.js │ │ ├── filtered-resources │ │ │ └── test-packages.properties │ │ └── java │ │ │ └── net │ │ │ └── adamcin │ │ │ └── oakpal │ │ │ └── cli │ │ │ └── IOTest.java │ ├── main │ │ ├── filtered-resources │ │ │ └── net │ │ │ │ └── adamcin │ │ │ │ └── oakpal │ │ │ │ └── cli │ │ │ │ └── version.properties │ │ └── java │ │ │ └── net │ │ │ └── adamcin │ │ │ └── oakpal │ │ │ └── cli │ │ │ ├── DisposablePrinter.java │ │ │ ├── StructuredMessage.java │ │ │ └── IO.java │ └── scripts │ │ ├── oakpal.bat │ │ ├── oakpal │ │ └── oakpal.sh ├── Dockerfile └── README.md ├── site.sh ├── testing ├── src │ ├── site │ │ ├── markdown │ │ │ └── .gitkeep │ │ └── site.xml │ ├── test │ │ ├── resources │ │ │ ├── embedded │ │ │ │ ├── META-INF │ │ │ │ │ └── MANIFEST.MF │ │ │ │ └── someScript.js │ │ │ └── extracted │ │ │ │ └── simple │ │ │ │ ├── META-INF │ │ │ │ └── vault │ │ │ │ │ └── filter.xml │ │ │ │ └── jcr_root │ │ │ │ └── apps │ │ │ │ └── oakpal │ │ │ │ └── .content.xml │ │ └── filtered-resources │ │ │ └── test-packages.properties │ └── main │ │ └── java │ │ └── net │ │ └── adamcin │ │ └── oakpal │ │ └── testing │ │ └── TestUtil.java └── README.md ├── webster └── src │ ├── site │ └── markdown │ │ └── .gitkeep │ ├── test │ ├── resources │ │ ├── filevault │ │ │ ├── noJcrRoot │ │ │ │ └── META-INF │ │ │ │ │ └── vault │ │ │ │ │ └── .gitkeep │ │ │ ├── noMetaInfVault │ │ │ │ └── jcr_root │ │ │ │ │ └── .gitkeep │ │ │ ├── noReferences │ │ │ │ ├── META-INF │ │ │ │ │ └── vault │ │ │ │ │ │ └── .gitkeep │ │ │ │ └── jcr_root │ │ │ │ │ └── .content.xml │ │ │ ├── oneNtRef │ │ │ │ ├── META-INF │ │ │ │ │ └── vault │ │ │ │ │ │ └── .gitkeep │ │ │ │ └── jcr_root │ │ │ │ │ └── .content.xml │ │ │ ├── onePrivRef │ │ │ │ ├── META-INF │ │ │ │ │ └── vault │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ └── filter.xml │ │ │ │ └── jcr_root │ │ │ │ │ └── .content.xml │ │ │ ├── twoPrivRefs │ │ │ │ ├── META-INF │ │ │ │ │ └── vault │ │ │ │ │ │ └── .gitkeep │ │ │ │ └── jcr_root │ │ │ │ │ └── .content.xml │ │ │ ├── oneNtRefAndDef │ │ │ │ ├── META-INF │ │ │ │ │ └── vault │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ └── nodetypes.cnd │ │ │ │ └── jcr_root │ │ │ │ │ ├── nodetypes.cnd │ │ │ │ │ └── .content.xml │ │ │ ├── onePrivRefAndDef │ │ │ │ ├── META-INF │ │ │ │ │ └── vault │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ └── privileges.xml │ │ │ │ └── jcr_root │ │ │ │ │ └── .content.xml │ │ │ └── ntRefsSlingFolderOrderedFolder │ │ │ │ ├── META-INF │ │ │ │ └── vault │ │ │ │ │ └── .gitkeep │ │ │ │ └── jcr_root │ │ │ │ └── .content.xml │ │ ├── WebsterChecklistTargetTest │ │ │ └── empty-checklist.json │ │ ├── sling_nodetypes.cnd │ │ └── aem_privileges.xml │ └── filtered-resources │ │ └── test-packages.properties │ └── main │ └── java │ └── net │ └── adamcin │ └── oakpal │ └── webster │ ├── package-info.java │ ├── targets │ └── package-info.java │ ├── WebsterTargetFactory.java │ └── WebsterTarget.java ├── calipers ├── all │ ├── README.md │ └── src │ │ ├── main │ │ └── content │ │ │ └── META-INF │ │ │ └── vault │ │ │ └── filter.xml │ │ └── site │ │ └── site.xml ├── ui.apps │ ├── README.md │ └── src │ │ ├── main │ │ └── content │ │ │ ├── jcr_root │ │ │ └── apps │ │ │ │ ├── oakpal-caliper │ │ │ │ ├── config │ │ │ │ │ └── org.apache.sling.jcr.repoinit.RepositoryInitializer~init.config │ │ │ │ ├── .content.xml │ │ │ │ └── _rep_policy.xml │ │ │ │ └── .content.xml │ │ │ └── META-INF │ │ │ └── vault │ │ │ └── filter.xml │ │ └── site │ │ └── site.xml ├── ui.content │ ├── README.md │ └── src │ │ ├── main │ │ └── content │ │ │ ├── META-INF │ │ │ └── vault │ │ │ │ └── filter.xml │ │ │ └── jcr_root │ │ │ └── content │ │ │ └── oakpal-caliper │ │ │ ├── .content.xml │ │ │ └── _rep_policy.xml │ │ └── site │ │ └── site.xml ├── ui.apps.author │ ├── README.md │ └── src │ │ ├── main │ │ └── content │ │ │ ├── META-INF │ │ │ └── vault │ │ │ │ └── filter.xml │ │ │ └── jcr_root │ │ │ └── apps │ │ │ ├── .content.xml │ │ │ └── oakpal-caliper-author │ │ │ └── .content.xml │ │ └── site │ │ └── site.xml ├── ui.apps.publish │ ├── README.md │ └── src │ │ ├── main │ │ └── content │ │ │ ├── META-INF │ │ │ └── vault │ │ │ │ └── filter.xml │ │ │ └── jcr_root │ │ │ └── apps │ │ │ ├── .content.xml │ │ │ └── oakpal-caliper-publish │ │ │ └── .content.xml │ │ └── site │ │ └── site.xml ├── ui.content.suba2 │ ├── README.md │ └── src │ │ ├── main │ │ └── content │ │ │ ├── META-INF │ │ │ └── vault │ │ │ │ └── filter.xml │ │ │ └── jcr_root │ │ │ └── content │ │ │ └── oakpal-caliper │ │ │ ├── .content.xml │ │ │ └── alpha │ │ │ └── .content.xml │ │ └── site │ │ └── site.xml ├── ui.content.subb3 │ ├── README.md │ └── src │ │ ├── main │ │ └── content │ │ │ ├── META-INF │ │ │ └── vault │ │ │ │ └── filter.xml │ │ │ └── jcr_root │ │ │ └── content │ │ │ └── oakpal-caliper │ │ │ ├── .content.xml │ │ │ └── bravo │ │ │ └── .content.xml │ │ └── site │ │ └── site.xml ├── ui.content.subc1 │ ├── README.md │ └── src │ │ ├── main │ │ └── content │ │ │ ├── META-INF │ │ │ └── vault │ │ │ │ └── filter.xml │ │ │ └── jcr_root │ │ │ └── content │ │ │ └── oakpal-caliper │ │ │ ├── .content.xml │ │ │ └── charlie │ │ │ └── .content.xml │ │ └── site │ │ └── site.xml ├── ui.apps.structure │ ├── README.md │ └── src │ │ └── site │ │ └── site.xml ├── README.md └── src │ └── site │ └── site.xml ├── core ├── src │ ├── test │ │ ├── resources │ │ │ ├── OpearFileTest │ │ │ │ ├── .gitkeep │ │ │ │ ├── folders_on_classpath │ │ │ │ │ ├── classes │ │ │ │ │ │ └── script-in-classes.js │ │ │ │ │ ├── test-classes │ │ │ │ │ │ └── script-in-test-classes.js │ │ │ │ │ ├── plan.json │ │ │ │ │ └── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ ├── deep_test_src │ │ │ │ │ ├── deep-plan.json │ │ │ │ │ └── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ └── embedded_module_src │ │ │ │ │ ├── a.cnd │ │ │ │ │ ├── b.cnd │ │ │ │ │ ├── META-INF │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ ├── OAKPAL-INF │ │ │ │ │ └── checklists │ │ │ │ │ │ └── embedded-checklist.json │ │ │ │ │ └── embeddedCheck.js │ │ │ ├── simple-content │ │ │ │ ├── .gitkeep │ │ │ │ ├── META-INF │ │ │ │ │ └── vault │ │ │ │ │ │ ├── filter.xml │ │ │ │ │ │ ├── nodetypes.cnd │ │ │ │ │ │ └── properties.xml │ │ │ │ └── jcr_root │ │ │ │ │ ├── etc │ │ │ │ │ └── example │ │ │ │ │ │ └── .content.xml │ │ │ │ │ └── content │ │ │ │ │ └── example │ │ │ │ │ └── .content.xml │ │ │ ├── simple-libs │ │ │ │ ├── .gitkeep │ │ │ │ ├── META-INF │ │ │ │ │ └── vault │ │ │ │ │ │ ├── filter.xml │ │ │ │ │ │ ├── nodetypes.cnd │ │ │ │ │ │ └── properties.xml │ │ │ │ └── jcr_root │ │ │ │ │ └── apps │ │ │ │ │ └── example │ │ │ │ │ └── .content.xml │ │ │ ├── simple-mixed │ │ │ │ ├── .gitkeep │ │ │ │ ├── META-INF │ │ │ │ │ └── vault │ │ │ │ │ │ ├── nodetypes.cnd │ │ │ │ │ │ ├── filter.xml │ │ │ │ │ │ └── properties.xml │ │ │ │ └── jcr_root │ │ │ │ │ ├── apps │ │ │ │ │ └── example │ │ │ │ │ │ └── .content.xml │ │ │ │ │ ├── etc │ │ │ │ │ └── example │ │ │ │ │ │ └── .content.xml │ │ │ │ │ └── content │ │ │ │ │ └── example │ │ │ │ │ └── .content.xml │ │ │ ├── plans │ │ │ │ ├── none │ │ │ │ │ └── not-a-plan.json │ │ │ │ ├── xEmpty │ │ │ │ │ ├── other-plan.json │ │ │ │ │ └── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ ├── bar │ │ │ │ │ └── plan.json │ │ │ │ └── foo │ │ │ │ │ ├── other-plan.json │ │ │ │ │ └── META-INF │ │ │ │ │ └── MANIFEST.MF │ │ │ ├── OakpalPlanTest │ │ │ │ ├── badJson.json │ │ │ │ ├── emptyplan.json │ │ │ │ ├── repoinit2.txt │ │ │ │ ├── repoinit1.txt │ │ │ │ └── checkNothing.js │ │ │ ├── SlingNodetypesScannerTest │ │ │ │ ├── .gitkeep │ │ │ │ ├── has_a_src │ │ │ │ │ ├── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ └── a.cnd │ │ │ │ ├── has_b_src │ │ │ │ │ ├── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ └── b.cnd │ │ │ │ ├── has_c_src │ │ │ │ │ ├── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ └── c.cnd │ │ │ │ ├── has_d_src │ │ │ │ │ ├── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ └── d.cnd │ │ │ │ ├── has_e_src │ │ │ │ │ ├── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ └── e.cnd │ │ │ │ ├── has_f_src │ │ │ │ │ ├── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ └── f.cnd │ │ │ │ ├── has_y_src │ │ │ │ │ ├── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ └── y.cnd │ │ │ │ └── has_z_src │ │ │ │ │ ├── META-INF │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ └── z.cnd │ │ │ ├── with-embedded-package │ │ │ │ ├── .gitkeep │ │ │ │ ├── jcr_root │ │ │ │ │ └── apps │ │ │ │ │ │ └── with-embedded │ │ │ │ │ │ ├── install │ │ │ │ │ │ └── .gitignore │ │ │ │ │ │ └── config │ │ │ │ │ │ ├── com.TestFactory-peanut.cfg.json │ │ │ │ │ │ └── com.TestFactory-strawberry.config │ │ │ │ └── META-INF │ │ │ │ │ └── vault │ │ │ │ │ ├── nodetypes.cnd │ │ │ │ │ ├── filter.xml │ │ │ │ │ └── properties.xml │ │ │ ├── DefaultPackagingServiceTest │ │ │ │ └── .gitkeep │ │ │ ├── ScriptProgressCheckTest │ │ │ │ ├── bogus_script.foobar │ │ │ │ ├── checkNoName.js │ │ │ │ ├── checkWithResources.properties │ │ │ │ ├── overrideResourceBundle.properties │ │ │ │ ├── checkNoExt │ │ │ │ ├── checkNameThrows.js │ │ │ │ ├── checkWithName.js │ │ │ │ ├── checkWithResources.js │ │ │ │ ├── checkNameFromConfig.js │ │ │ │ └── throwsRepositoryException.js │ │ │ ├── manifestWithNoModuleName.mf │ │ │ ├── package_with_bad_installhook │ │ │ │ ├── jcr_root │ │ │ │ │ └── apps │ │ │ │ │ │ └── .retain │ │ │ │ └── META-INF │ │ │ │ │ └── vault │ │ │ │ │ ├── filter.xml │ │ │ │ │ ├── hooks │ │ │ │ │ └── oakpal-testing-hooktest.hook-0.0.1-SNAPSHOT.jar │ │ │ │ │ ├── settings.xml │ │ │ │ │ └── properties.xml │ │ │ ├── InitStageTest │ │ │ │ ├── repoinit2.txt │ │ │ │ ├── a.cnd │ │ │ │ ├── b.cnd │ │ │ │ └── repoinit1.txt │ │ │ ├── constraint_violator_package │ │ │ │ ├── META-INF │ │ │ │ │ ├── MANIFEST.MF │ │ │ │ │ └── vault │ │ │ │ │ │ └── filter.xml │ │ │ │ └── jcr_root │ │ │ │ │ └── apps │ │ │ │ │ ├── acme │ │ │ │ │ ├── docs │ │ │ │ │ │ ├── test.txt │ │ │ │ │ │ └── .content.xml │ │ │ │ │ └── .content.xml │ │ │ │ │ └── .content.xml │ │ │ ├── test_module │ │ │ │ ├── META-INF │ │ │ │ │ └── MANIFEST.MF │ │ │ │ ├── a.cnd │ │ │ │ ├── b.cnd │ │ │ │ └── emptyHandler.js │ │ │ ├── ChecklistPlannerTest │ │ │ │ ├── zulu │ │ │ │ │ └── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ ├── alpha │ │ │ │ │ ├── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ └── alpha.json │ │ │ │ ├── charlie │ │ │ │ │ ├── META-INF │ │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ └── charlie.json │ │ │ │ └── bravo │ │ │ │ │ ├── META-INF │ │ │ │ │ └── MANIFEST.MF │ │ │ │ │ ├── bravo-1.json │ │ │ │ │ └── bravo-2.json │ │ │ ├── manifestWithAutomaticModuleName.mf │ │ │ ├── JsonCndTest │ │ │ │ ├── error.cnd │ │ │ │ ├── a.cnd │ │ │ │ ├── b.cnd │ │ │ │ ├── c.cnd │ │ │ │ ├── d.cnd │ │ │ │ ├── e.cnd │ │ │ │ ├── f.cnd │ │ │ │ └── bb.cnd │ │ │ ├── manifestWithBundleSymbolicName.mf │ │ │ ├── CNDURLInstallerTest │ │ │ │ ├── a.cnd │ │ │ │ ├── z.cnd │ │ │ │ ├── b.cnd │ │ │ │ ├── c.cnd │ │ │ │ ├── d.cnd │ │ │ │ ├── e.cnd │ │ │ │ ├── f.cnd │ │ │ │ └── y.cnd │ │ │ ├── utiljar │ │ │ │ └── META-INF │ │ │ │ │ └── MANIFEST.MF │ │ │ ├── manifestWithOakpalModuleName.mf │ │ │ ├── manifestWithManyHeaders.mf │ │ │ ├── net │ │ │ │ └── adamcin │ │ │ │ │ └── oakpal │ │ │ │ │ └── core │ │ │ │ │ ├── SilencingCheckFacadeTest.properties │ │ │ │ │ ├── checks │ │ │ │ │ └── JcrPropertiesTest.properties │ │ │ │ │ ├── ProgressCheckAliasFacadeTest.properties │ │ │ │ │ ├── OakpalPlanTest.properties │ │ │ │ │ └── DefaultErrorListenerTest.properties │ │ │ ├── simpleHandler.js │ │ │ ├── new_user_package │ │ │ │ ├── META-INF │ │ │ │ │ └── vault │ │ │ │ │ │ └── filter.xml │ │ │ │ └── jcr_root │ │ │ │ │ └── home │ │ │ │ │ └── users │ │ │ │ │ ├── .content.xml │ │ │ │ │ └── acme │ │ │ │ │ └── .content.xml │ │ │ ├── jcr_prop_constraints_playground │ │ │ │ ├── META-INF │ │ │ │ │ └── vault │ │ │ │ │ │ └── filter.xml │ │ │ │ └── jcr_root │ │ │ │ │ └── apps │ │ │ │ │ ├── .content.xml │ │ │ │ │ ├── aperture │ │ │ │ │ └── .content.xml │ │ │ │ │ └── acme │ │ │ │ │ └── .content.xml │ │ │ ├── simpleChecklist.json │ │ │ └── logback-test.xml │ │ ├── filtered-resources │ │ │ └── test-packages.properties │ │ └── java │ │ │ └── net │ │ │ └── adamcin │ │ │ └── oakpal │ │ │ └── it │ │ │ └── OakMachineCaliperIT.java │ ├── main │ │ ├── resources │ │ │ └── net │ │ │ │ └── adamcin │ │ │ │ └── oakpal │ │ │ │ └── core │ │ │ │ ├── empty-plan.json │ │ │ │ ├── basic-plan.json │ │ │ │ └── checks │ │ │ │ ├── Overlaps.properties │ │ │ │ ├── ExpectAces.properties │ │ │ │ ├── ExpectAces_de.properties │ │ │ │ ├── Overlaps_de.properties │ │ │ │ ├── ExpectPaths.properties │ │ │ │ ├── ExpectPaths_de.properties │ │ │ │ ├── Subpackages.properties │ │ │ │ ├── Paths.properties │ │ │ │ ├── Subpackages_de.properties │ │ │ │ ├── FilterSets.properties │ │ │ │ ├── FilterSets_de.properties │ │ │ │ ├── AcHandling.properties │ │ │ │ ├── CompositeStoreAlignment.properties │ │ │ │ ├── Paths_de.properties │ │ │ │ ├── AcHandling_de.properties │ │ │ │ ├── CompositeStoreAlignment_de.properties │ │ │ │ ├── JcrProperties.properties │ │ │ │ └── JcrProperties_de.properties │ │ └── java │ │ │ └── net │ │ │ └── adamcin │ │ │ └── oakpal │ │ │ ├── shaded │ │ │ └── package-info.java │ │ │ └── core │ │ │ ├── package-info.java │ │ │ ├── checks │ │ │ └── package-info.java │ │ │ ├── opear │ │ │ └── package-info.java │ │ │ ├── sling │ │ │ └── package-info.java │ │ │ ├── repoinit │ │ │ └── package-info.java │ │ │ ├── ProgressCheck.java │ │ │ ├── ListenerReadOnlyException.java │ │ │ └── jcrfacade │ │ │ └── JcrSessionFacade.java │ └── site │ │ └── site.xml └── README.md ├── maven ├── src │ ├── test │ │ ├── resources │ │ │ ├── WebsterMojoTest │ │ │ │ ├── .gitkeep │ │ │ │ └── content-package │ │ │ │ │ ├── src │ │ │ │ │ └── main │ │ │ │ │ │ └── content │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ └── jcr_root │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ └── pom.xml │ │ │ ├── OpearPackageMojoTest │ │ │ │ ├── copyme.txt │ │ │ │ ├── sub1 │ │ │ │ │ └── copyme.txt │ │ │ │ ├── repoinit2.txt │ │ │ │ ├── repoinit1.txt │ │ │ │ └── echo.js │ │ │ ├── MojoWithPlanParamsTest │ │ │ │ ├── repoinit2.txt │ │ │ │ ├── a.cnd │ │ │ │ ├── z.cnd │ │ │ │ ├── b.cnd │ │ │ │ ├── c.cnd │ │ │ │ ├── d.cnd │ │ │ │ ├── e.cnd │ │ │ │ ├── f.cnd │ │ │ │ ├── y.cnd │ │ │ │ └── repoinit1.txt │ │ │ ├── unit │ │ │ │ ├── happyscan │ │ │ │ │ ├── simpleCnd.cnd │ │ │ │ │ └── src │ │ │ │ │ │ └── test │ │ │ │ │ │ └── resources │ │ │ │ │ │ ├── test-classpath-nodetypes.cnd │ │ │ │ │ │ └── testOutputScriptCheck.js │ │ │ │ ├── opear-plan-for-opear1 │ │ │ │ │ └── src │ │ │ │ │ │ └── main │ │ │ │ │ │ └── resources │ │ │ │ │ │ └── simpleCnd.cnd │ │ │ │ └── opear1 │ │ │ │ │ └── src │ │ │ │ │ └── main │ │ │ │ │ └── resources │ │ │ │ │ └── echoCheck.js │ │ │ └── JsonConverterTest │ │ │ │ ├── blankFoo.xml │ │ │ │ ├── emptyFoo.xml │ │ │ │ ├── fooBar.xml │ │ │ │ ├── fooFoo.xml │ │ │ │ ├── topFoo.xml │ │ │ │ ├── fooFalse.xml │ │ │ │ ├── fooNull.xml │ │ │ │ ├── fooNumber.xml │ │ │ │ ├── fooTrue.xml │ │ │ │ ├── fooArray.xml │ │ │ │ ├── fooObject.xml │ │ │ │ ├── invalidHint.xml │ │ │ │ ├── foosBar.xml │ │ │ │ └── foosFoo.xml │ │ └── filtered-resources │ │ │ └── test-packages.properties │ ├── site │ │ └── resources │ │ │ └── images │ │ │ └── export_cnd.png │ └── main │ │ ├── filtered-resources │ │ └── net │ │ │ └── adamcin │ │ │ └── oakpal │ │ │ └── maven │ │ │ └── mojo │ │ │ └── version.properties │ │ └── java │ │ └── net │ │ └── adamcin │ │ └── oakpal │ │ └── maven │ │ └── mojo │ │ ├── PlanBuilderParams.java │ │ └── MojoWithCommonParams.java ├── TODO.md └── README.md ├── site-deploy.sh ├── api ├── README.md └── src │ ├── main │ ├── resources │ │ └── net │ │ │ └── adamcin │ │ │ └── oakpal │ │ │ └── api │ │ │ ├── SimpleProgressCheck.properties │ │ │ ├── SimpleViolationTest.properties │ │ │ └── SimpleViolationTestReversed.properties │ └── java │ │ └── net │ │ └── adamcin │ │ └── oakpal │ │ └── api │ │ ├── package-info.java │ │ ├── JsonArrayConvertible.java │ │ ├── JsonObjectConvertible.java │ │ ├── SlingOpenable.java │ │ └── RuleType.java │ ├── test │ ├── resources │ │ └── net │ │ │ └── adamcin │ │ │ └── oakpal │ │ │ └── api │ │ │ └── SimpleProgressCheckTest.properties │ └── filtered-resources │ │ └── test-packages.properties │ └── site │ └── site.xml ├── .gitignore ├── Dockerfile └── .mvn └── wrapper └── maven-wrapper.properties /cli/.gitignore: -------------------------------------------------------------------------------- 1 | .oakpal-cache/ -------------------------------------------------------------------------------- /cli/src/site/markdown/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site.sh: -------------------------------------------------------------------------------- 1 | mvn clean site site:stage 2 | -------------------------------------------------------------------------------- /testing/src/site/markdown/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webster/src/site/markdown/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /calipers/all/README.md: -------------------------------------------------------------------------------- 1 | # oakpal-caliper.all -------------------------------------------------------------------------------- /cli/src/test/resources/checklists/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cli/src/test/resources/simple-content/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/src/test/resources/OpearFileTest/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-content/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-libs/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-mixed/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /calipers/ui.apps/README.md: -------------------------------------------------------------------------------- 1 | # oakpal-caliper.ui.apps -------------------------------------------------------------------------------- /cli/src/test/resources/opears/emptyplan/plan.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /core/src/test/resources/plans/none/not-a-plan.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /maven/src/test/resources/WebsterMojoTest/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /calipers/ui.content/README.md: -------------------------------------------------------------------------------- 1 | # oakpal-caliper.ui.content -------------------------------------------------------------------------------- /core/src/test/resources/OakpalPlanTest/badJson.json: -------------------------------------------------------------------------------- 1 | {""} -------------------------------------------------------------------------------- /core/src/test/resources/OakpalPlanTest/emptyplan.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/src/test/resources/with-embedded-package/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/src/test/resources/DefaultPackagingServiceTest/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /maven/src/test/resources/OpearPackageMojoTest/copyme.txt: -------------------------------------------------------------------------------- 1 | copy me -------------------------------------------------------------------------------- /calipers/ui.apps.author/README.md: -------------------------------------------------------------------------------- 1 | # oakpal-caliper.ui.apps.author -------------------------------------------------------------------------------- /calipers/ui.apps.publish/README.md: -------------------------------------------------------------------------------- 1 | # oakpal-caliper.ui.apps.publish -------------------------------------------------------------------------------- /calipers/ui.content.suba2/README.md: -------------------------------------------------------------------------------- 1 | # oakpal-caliper.ui.content.suba2 -------------------------------------------------------------------------------- /calipers/ui.content.subb3/README.md: -------------------------------------------------------------------------------- 1 | # oakpal-caliper.ui.content.subb3 -------------------------------------------------------------------------------- /calipers/ui.content.subc1/README.md: -------------------------------------------------------------------------------- 1 | # oakpal-caliper.ui.content.subc1 -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/empty-plan.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /core/src/test/resources/ScriptProgressCheckTest/bogus_script.foobar: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /maven/src/test/resources/OpearPackageMojoTest/sub1/copyme.txt: -------------------------------------------------------------------------------- 1 | copy me -------------------------------------------------------------------------------- /calipers/ui.apps.structure/README.md: -------------------------------------------------------------------------------- 1 | # oakpal-caliper.ui.apps.structure -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/noJcrRoot/META-INF/vault/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/noMetaInfVault/jcr_root/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/noReferences/META-INF/vault/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/oneNtRef/META-INF/vault/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/onePrivRef/META-INF/vault/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/twoPrivRefs/META-INF/vault/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/src/test/resources/manifestWithNoModuleName.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | -------------------------------------------------------------------------------- /core/src/test/resources/package_with_bad_installhook/jcr_root/apps/.retain: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webster/src/test/resources/WebsterChecklistTargetTest/empty-checklist.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/oneNtRefAndDef/META-INF/vault/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/onePrivRefAndDef/META-INF/vault/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/src/test/resources/plans/xEmpty/other-plan.json: -------------------------------------------------------------------------------- 1 | { 2 | "checklists": [] 3 | } -------------------------------------------------------------------------------- /maven/src/test/resources/WebsterMojoTest/content-package/src/main/content/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /testing/src/test/resources/embedded/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | -------------------------------------------------------------------------------- /core/README.md: -------------------------------------------------------------------------------- 1 | # oakpal-core 2 | 3 | This is the core runtime library for oakpal. 4 | -------------------------------------------------------------------------------- /core/src/test/resources/InitStageTest/repoinit2.txt: -------------------------------------------------------------------------------- 1 | create path (sling:Folder) /apps 2 | -------------------------------------------------------------------------------- /core/src/test/resources/OpearFileTest/folders_on_classpath/classes/script-in-classes.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/src/test/resources/plans/bar/plan.json: -------------------------------------------------------------------------------- 1 | { 2 | "checklists": ["test/bar"] 3 | } 4 | -------------------------------------------------------------------------------- /site-deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | mvn clean site site:stage scm-publish:publish-scm 3 | -------------------------------------------------------------------------------- /cli/src/test/resources/opears/adhocPlan/repoinit2.txt: -------------------------------------------------------------------------------- 1 | create path (sling:Folder) /apps 2 | -------------------------------------------------------------------------------- /core/src/test/resources/OakpalPlanTest/repoinit2.txt: -------------------------------------------------------------------------------- 1 | create path (sling:Folder) /apps 2 | -------------------------------------------------------------------------------- /core/src/test/resources/plans/foo/other-plan.json: -------------------------------------------------------------------------------- 1 | { 2 | "checklists": ["test/foo"] 3 | } -------------------------------------------------------------------------------- /maven/src/test/resources/WebsterMojoTest/content-package/src/main/content/jcr_root/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/ntRefsSlingFolderOrderedFolder/META-INF/vault/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/src/test/resources/OpearFileTest/folders_on_classpath/test-classes/script-in-test-classes.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/src/test/resources/constraint_violator_package/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | -------------------------------------------------------------------------------- /core/src/test/resources/constraint_violator_package/jcr_root/apps/acme/docs/test.txt: -------------------------------------------------------------------------------- 1 | Hello World. -------------------------------------------------------------------------------- /core/src/test/resources/with-embedded-package/jcr_root/apps/with-embedded/install/.gitignore: -------------------------------------------------------------------------------- 1 | *.zip -------------------------------------------------------------------------------- /maven/src/test/resources/MojoWithPlanParamsTest/repoinit2.txt: -------------------------------------------------------------------------------- 1 | create path (sling:Folder) /apps 2 | -------------------------------------------------------------------------------- /maven/src/test/resources/OpearPackageMojoTest/repoinit2.txt: -------------------------------------------------------------------------------- 1 | create path (sling:Folder) /apps 2 | -------------------------------------------------------------------------------- /cli/src/test/resources/opears/runModesPlan/plan.json: -------------------------------------------------------------------------------- 1 | { 2 | "runModes": [ 3 | "author" 4 | ] 5 | } -------------------------------------------------------------------------------- /core/src/test/resources/OpearFileTest/folders_on_classpath/plan.json: -------------------------------------------------------------------------------- 1 | { 2 | "checklists": ["test/foo"] 3 | } -------------------------------------------------------------------------------- /core/src/test/resources/test_module/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Oakpal-ModuleName: test 3 | -------------------------------------------------------------------------------- /core/src/test/resources/ChecklistPlannerTest/zulu/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | This Is Invalid!!! 3 | -------------------------------------------------------------------------------- /api/README.md: -------------------------------------------------------------------------------- 1 | # net.adamcin.oakpal.api 2 | 3 | This is the API dependency for use by progress check implementers. 4 | 5 | -------------------------------------------------------------------------------- /core/src/test/resources/manifestWithAutomaticModuleName.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Automatic-Module-Name: auto.module.name 3 | -------------------------------------------------------------------------------- /cli/src/test/resources/opears/hooksPlan/plan.json: -------------------------------------------------------------------------------- 1 | { 2 | "enablePreInstallHooks": true, 3 | "installHooksPolicy": "REPORT" 4 | } -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_a_src/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Sling-Nodetypes: a.cnd 3 | -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_b_src/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Sling-Nodetypes: b.cnd 3 | -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_c_src/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Sling-Nodetypes: c.cnd 3 | -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_d_src/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Sling-Nodetypes: d.cnd 3 | -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_e_src/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Sling-Nodetypes: e.cnd 3 | -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_f_src/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Sling-Nodetypes: f.cnd 3 | -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_y_src/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Sling-Nodetypes: y.cnd 3 | -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_z_src/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Sling-Nodetypes: z.cnd 3 | -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/basic-plan.json: -------------------------------------------------------------------------------- 1 | { 2 | "checklists": [ 3 | "net.adamcin.oakpal.core/basic" 4 | ] 5 | } -------------------------------------------------------------------------------- /core/src/test/resources/plans/foo/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-SymbolicName: foo 3 | Oakpal-Plan: other-plan.json 4 | -------------------------------------------------------------------------------- /maven/src/site/resources/images/export_cnd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamcin/oakpal/HEAD/maven/src/site/resources/images/export_cnd.png -------------------------------------------------------------------------------- /maven/src/test/resources/unit/happyscan/simpleCnd.cnd: -------------------------------------------------------------------------------- 1 | <'oakpal'='http://adamcin.net/ns/jcr/oakpal/1.0'> 2 | 3 | [oakpal:SimpleType] 4 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/OpearFileTest/deep_test_src/deep-plan.json: -------------------------------------------------------------------------------- 1 | { 2 | "checklists": [ 3 | "embedded_module/embedded_checklist" 4 | ] 5 | } -------------------------------------------------------------------------------- /core/src/test/resources/plans/xEmpty/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-SymbolicName: empty 3 | Oakpal-Plan: other-plan.json 4 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/oneNtRefAndDef/jcr_root/nodetypes.cnd: -------------------------------------------------------------------------------- 1 | <'foo'='http://adamcin.net/foo'> 2 | 3 | [foo:bar] > nt:folder 4 | 5 | -------------------------------------------------------------------------------- /core/src/test/resources/with-embedded-package/jcr_root/apps/with-embedded/config/com.TestFactory-peanut.cfg.json: -------------------------------------------------------------------------------- 1 | { 2 | "foo:Integer": "badRanking" 3 | } -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/oneNtRefAndDef/META-INF/vault/nodetypes.cnd: -------------------------------------------------------------------------------- 1 | <'foo'='http://adamcin.net/foo'> 2 | 3 | [foo:bar] > nt:folder 4 | 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | target/ 3 | *.iml 4 | .mvn/wrapper/maven-wrapper.jar 5 | .oakpal-cache/ 6 | pom.xml.versionsBackup 7 | dependency-reduced-pom.xml 8 | -------------------------------------------------------------------------------- /cli/src/test/resources/checklists/test_module/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Oakpal-ModuleName: test 3 | Oakpal-Checklist: test-checklist.json 4 | -------------------------------------------------------------------------------- /cli/src/test/resources/opears/simpleEcho/plan.json: -------------------------------------------------------------------------------- 1 | { 2 | "checks": [ 3 | { 4 | "name": "simpleEcho", 5 | "impl": "echo.js" 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /core/src/test/resources/ChecklistPlannerTest/alpha/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Automatic-Module-Name: alpha 3 | Oakpal-Checklist: alpha.json 4 | -------------------------------------------------------------------------------- /core/src/test/resources/JsonCndTest/error.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | 3 | [error:primaryType] > nt:base 4 | 5 | [error:mixinType] 6 | mixin -------------------------------------------------------------------------------- /cli/src/main/filtered-resources/net/adamcin/oakpal/cli/version.properties: -------------------------------------------------------------------------------- 1 | groupId=${project.groupId} 2 | artifactId=${project.artifactId} 3 | version=${project.version} -------------------------------------------------------------------------------- /core/src/test/resources/ChecklistPlannerTest/charlie/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Oakpal-ModuleName: charlie 3 | Oakpal-Checklist: charlie.json 4 | -------------------------------------------------------------------------------- /cli/src/test/resources/opears/simpleEcho/other-plan.json: -------------------------------------------------------------------------------- 1 | { 2 | "checks": [ 3 | { 4 | "name": "simpleEcho", 5 | "impl": "echo.js" 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /core/src/test/resources/manifestWithBundleSymbolicName.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-SymbolicName: bundle.symbolicName 3 | Automatic-Module-Name: auto.module.name 4 | -------------------------------------------------------------------------------- /core/src/test/resources/ChecklistPlannerTest/bravo/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-SymbolicName: bravo 3 | Oakpal-Checklist: bravo-1.json,bravo-2.json 4 | -------------------------------------------------------------------------------- /core/src/test/resources/JsonCndTest/a.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'a'='http://a.com/1.0'> 3 | 4 | [a:primaryType] > nt:base 5 | 6 | [a:mixinType] 7 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/package_with_bad_installhook/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /core/src/test/resources/test_module/a.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'a'='http://a.com/1.0'> 3 | 4 | [a:primaryType] > nt:base 5 | 6 | [a:mixinType] 7 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/test_module/b.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'b'='http://b.com/1.0'> 3 | 4 | [b:primaryType] > nt:base 5 | 6 | [b:mixinType] 7 | mixin -------------------------------------------------------------------------------- /maven/src/main/filtered-resources/net/adamcin/oakpal/maven/mojo/version.properties: -------------------------------------------------------------------------------- 1 | groupId=${project.groupId} 2 | artifactId=${project.artifactId} 3 | version=${project.version} -------------------------------------------------------------------------------- /maven/src/test/resources/unit/opear-plan-for-opear1/src/main/resources/simpleCnd.cnd: -------------------------------------------------------------------------------- 1 | <'oakpal'='http://adamcin.net/ns/jcr/oakpal/1.0'> 2 | 3 | [oakpal:SimpleType] 4 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/InitStageTest/a.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'a'='http://a.com/1.0'> 3 | 4 | [a:primaryType] > nt:base 5 | 6 | [a:mixinType] 7 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/InitStageTest/b.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'b'='http://b.com/1.0'> 3 | 4 | [b:primaryType] > nt:base 5 | 6 | [b:mixinType] 7 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/CNDURLInstallerTest/a.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'a'='http://a.com/1.0'> 3 | 4 | [a:primaryType] > nt:base 5 | 6 | [a:mixinType] 7 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/CNDURLInstallerTest/z.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'z'='http://z.com/1.0'> 3 | 4 | [z:primaryType] > nt:base 5 | 6 | [z:mixinType] 7 | mixin -------------------------------------------------------------------------------- /maven/src/test/resources/unit/happyscan/src/test/resources/test-classpath-nodetypes.cnd: -------------------------------------------------------------------------------- 1 | <'oakpal'='http://adamcin.net/ns/jcr/oakpal/1.0'> 2 | 3 | [oakpal:ClassPathMixin] 4 | mixin 5 | -------------------------------------------------------------------------------- /cli/src/test/resources/checklists/test_module/test-checklist.json: -------------------------------------------------------------------------------- 1 | { 2 | "checks": [ 3 | { 4 | "name": "test-check", 5 | "impl": "test_module-handler.js" 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /cli/src/test/resources/opears/simpleEcho/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-SymbolicName: simpleEcho 3 | Bundle-ClassPath: . 4 | Oakpal-Plan: plan.json,other-plan.json 5 | -------------------------------------------------------------------------------- /core/src/test/resources/with-embedded-package/jcr_root/apps/with-embedded/config/com.TestFactory-strawberry.config: -------------------------------------------------------------------------------- 1 | foo="bar" 2 | foos=["bar","bar","bar"] 3 | ones=L["1", "1", "1"] 4 | nothing=[] -------------------------------------------------------------------------------- /maven/src/test/resources/MojoWithPlanParamsTest/a.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'a'='http://a.com/1.0'> 3 | 4 | [a:primaryType] > nt:base 5 | 6 | [a:mixinType] 7 | mixin -------------------------------------------------------------------------------- /maven/src/test/resources/MojoWithPlanParamsTest/z.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'z'='http://z.com/1.0'> 3 | 4 | [z:primaryType] > nt:base 5 | 6 | [z:mixinType] 7 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/OakpalPlanTest/repoinit1.txt: -------------------------------------------------------------------------------- 1 | register nodetypes 2 | <<=== 3 | <'sling'='http://sling.apache.org/jcr/sling/1.0'> 4 | 5 | [sling:Folder] > nt:folder, nt:unstructured 6 | ===>> -------------------------------------------------------------------------------- /core/src/test/resources/OpearFileTest/embedded_module_src/a.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'a'='http://a.com/1.0'> 3 | 4 | [a:primaryType] > nt:base 5 | 6 | [a:mixinType] 7 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/OpearFileTest/embedded_module_src/b.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'b'='http://b.com/1.0'> 3 | 4 | [b:primaryType] > nt:base 5 | 6 | [b:mixinType] 7 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_a_src/a.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'a'='http://a.com/1.0'> 3 | 4 | [a:primaryType] > nt:base 5 | 6 | [a:mixinType] 7 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_z_src/z.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'z'='http://z.com/1.0'> 3 | 4 | [z:primaryType] > nt:base 5 | 6 | [z:mixinType] 7 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/simple-libs/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /core/src/test/resources/utiljar/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Good-RelPaths: logback-test.xml,simpleChecklist.json 3 | Bad-RelPaths: unknown-scheme:/some-path,http:didn't-expect-that 4 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/onePrivRef/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /core/src/test/resources/JsonCndTest/b.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'a'='http://a.com/1.0'> 3 | <'b'='http://b.com/1.0'> 4 | 5 | [b:primaryType] > a:primaryType 6 | 7 | [b:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/JsonCndTest/c.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'b'='http://b.com/1.0'> 3 | <'c'='http://c.com/1.0'> 4 | 5 | [c:primaryType] > b:primaryType 6 | 7 | [c:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/JsonCndTest/d.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'c'='http://c.com/1.0'> 3 | <'d'='http://d.com/1.0'> 4 | 5 | [d:primaryType] > c:primaryType 6 | 7 | [d:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/JsonCndTest/e.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'d'='http://d.com/1.0'> 3 | <'e'='http://e.com/1.0'> 4 | 5 | [e:primaryType] > d:primaryType 6 | 7 | [e:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/JsonCndTest/f.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'e'='http://e.com/1.0'> 3 | <'f'='http://f.com/1.0'> 4 | 5 | [f:primaryType] > e:primaryType 6 | 7 | [f:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/OpearFileTest/embedded_module_src/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Oakpal-ModuleName: embedded_module 3 | Oakpal-Checklist: OAKPAL-INF/checklists/embedded-checklist.json 4 | -------------------------------------------------------------------------------- /core/src/test/resources/manifestWithOakpalModuleName.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Oakpal-ModuleName: oakpal.moduleName 3 | Bundle-SymbolicName: bundle.symbolicName 4 | Automatic-Module-Name: auto.module.name 5 | -------------------------------------------------------------------------------- /core/src/test/resources/OpearFileTest/deep_test_src/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-SymbolicName: deep_test 3 | Bundle-ClassPath: classes,embedded_module.jar 4 | Oakpal-Plan: deep-plan.json 5 | -------------------------------------------------------------------------------- /core/src/test/resources/CNDURLInstallerTest/b.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'a'='http://a.com/1.0'> 3 | <'b'='http://b.com/1.0'> 4 | 5 | [b:primaryType] > a:primaryType 6 | 7 | [b:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/CNDURLInstallerTest/c.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'b'='http://b.com/1.0'> 3 | <'c'='http://c.com/1.0'> 4 | 5 | [c:primaryType] > b:primaryType 6 | 7 | [c:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/CNDURLInstallerTest/d.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'c'='http://c.com/1.0'> 3 | <'d'='http://d.com/1.0'> 4 | 5 | [d:primaryType] > c:primaryType 6 | 7 | [d:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/CNDURLInstallerTest/e.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'d'='http://d.com/1.0'> 3 | <'e'='http://e.com/1.0'> 4 | 5 | [e:primaryType] > d:primaryType 6 | 7 | [e:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/CNDURLInstallerTest/f.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'e'='http://e.com/1.0'> 3 | <'f'='http://f.com/1.0'> 4 | 5 | [f:primaryType] > e:primaryType 6 | 7 | [f:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/CNDURLInstallerTest/y.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'x'='http://x.com/1.0'> 3 | <'y'='http://y.com/1.0'> 4 | 5 | [y:primaryType] > x:primaryType 6 | 7 | [y:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/OpearFileTest/folders_on_classpath/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-SymbolicName: folders_on_classpath 3 | Bundle-ClassPath: classes,test-classes 4 | Oakpal-Plan: plan.json 5 | -------------------------------------------------------------------------------- /maven/src/test/resources/MojoWithPlanParamsTest/b.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'a'='http://a.com/1.0'> 3 | <'b'='http://b.com/1.0'> 4 | 5 | [b:primaryType] > a:primaryType 6 | 7 | [b:mixinType] 8 | mixin -------------------------------------------------------------------------------- /maven/src/test/resources/MojoWithPlanParamsTest/c.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'b'='http://b.com/1.0'> 3 | <'c'='http://c.com/1.0'> 4 | 5 | [c:primaryType] > b:primaryType 6 | 7 | [c:mixinType] 8 | mixin -------------------------------------------------------------------------------- /maven/src/test/resources/MojoWithPlanParamsTest/d.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'c'='http://c.com/1.0'> 3 | <'d'='http://d.com/1.0'> 4 | 5 | [d:primaryType] > c:primaryType 6 | 7 | [d:mixinType] 8 | mixin -------------------------------------------------------------------------------- /maven/src/test/resources/MojoWithPlanParamsTest/e.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'d'='http://d.com/1.0'> 3 | <'e'='http://e.com/1.0'> 4 | 5 | [e:primaryType] > d:primaryType 6 | 7 | [e:mixinType] 8 | mixin -------------------------------------------------------------------------------- /maven/src/test/resources/MojoWithPlanParamsTest/f.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'e'='http://e.com/1.0'> 3 | <'f'='http://f.com/1.0'> 4 | 5 | [f:primaryType] > e:primaryType 6 | 7 | [f:mixinType] 8 | mixin -------------------------------------------------------------------------------- /maven/src/test/resources/MojoWithPlanParamsTest/y.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'x'='http://x.com/1.0'> 3 | <'y'='http://y.com/1.0'> 4 | 5 | [y:primaryType] > x:primaryType 6 | 7 | [y:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_b_src/b.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'a'='http://a.com/1.0'> 3 | <'b'='http://b.com/1.0'> 4 | 5 | [b:primaryType] > a:primaryType 6 | 7 | [b:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_c_src/c.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'b'='http://b.com/1.0'> 3 | <'c'='http://c.com/1.0'> 4 | 5 | [c:primaryType] > b:primaryType 6 | 7 | [c:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_d_src/d.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'c'='http://c.com/1.0'> 3 | <'d'='http://d.com/1.0'> 4 | 5 | [d:primaryType] > c:primaryType 6 | 7 | [d:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_e_src/e.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'d'='http://d.com/1.0'> 3 | <'e'='http://e.com/1.0'> 4 | 5 | [e:primaryType] > d:primaryType 6 | 7 | [e:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_f_src/f.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'e'='http://e.com/1.0'> 3 | <'f'='http://f.com/1.0'> 4 | 5 | [f:primaryType] > e:primaryType 6 | 7 | [f:mixinType] 8 | mixin -------------------------------------------------------------------------------- /core/src/test/resources/SlingNodetypesScannerTest/has_y_src/y.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'x'='http://x.com/1.0'> 3 | <'y'='http://y.com/1.0'> 4 | 5 | [y:primaryType] > x:primaryType 6 | 7 | [y:mixinType] 8 | mixin -------------------------------------------------------------------------------- /maven/TODO.md: -------------------------------------------------------------------------------- 1 | 1. Create unit tests to determine how org.codehaus.plexus.util.xml.Xpp3Dom.SELF_COMBINATION_MODE_ATTRIBUTE and 2 | .CHILDREN_COMBINATION_MODE_ATTRIBUTE should be used for inheritance of oakpal JSON configurations. 3 | 4 | -------------------------------------------------------------------------------- /cli/src/test/resources/opears/adhocPlan/repoinit1.txt: -------------------------------------------------------------------------------- 1 | create path (nt:folder) /foo:root 2 | 3 | register nodetypes 4 | <<=== 5 | <'sling'='http://sling.apache.org/jcr/sling/1.0'> 6 | 7 | [sling:Folder] > nt:folder, nt:unstructured 8 | ===>> -------------------------------------------------------------------------------- /core/src/test/resources/InitStageTest/repoinit1.txt: -------------------------------------------------------------------------------- 1 | create path (nt:folder) /foo:root 2 | 3 | register nodetypes 4 | <<=== 5 | <'sling'='http://sling.apache.org/jcr/sling/1.0'> 6 | 7 | [sling:Folder] > nt:folder, nt:unstructured 8 | ===>> -------------------------------------------------------------------------------- /cli/src/test/resources/simple-content/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-content/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /maven/src/test/resources/OpearPackageMojoTest/repoinit1.txt: -------------------------------------------------------------------------------- 1 | create path (nt:folder) /foo:root 2 | 3 | register nodetypes 4 | <<=== 5 | <'sling'='http://sling.apache.org/jcr/sling/1.0'> 6 | 7 | [sling:Folder] > nt:folder, nt:unstructured 8 | ===>> -------------------------------------------------------------------------------- /maven/src/test/resources/MojoWithPlanParamsTest/repoinit1.txt: -------------------------------------------------------------------------------- 1 | create path (nt:folder) /foo:root 2 | 3 | register nodetypes 4 | <<=== 5 | <'sling'='http://sling.apache.org/jcr/sling/1.0'> 6 | 7 | [sling:Folder] > nt:folder, nt:unstructured 8 | ===>> -------------------------------------------------------------------------------- /cli/src/test/resources/simple-content/META-INF/vault/nodetypes.cnd: -------------------------------------------------------------------------------- 1 | <'sling'='http://sling.apache.org/jcr/sling/1.0'> 2 | 3 | [sling:Folder] > nt:folder 4 | - * (undefined) 5 | - * (undefined) multiple 6 | + * (nt:base) = sling:Folder version 7 | 8 | -------------------------------------------------------------------------------- /core/src/test/resources/JsonCndTest/bb.cnd: -------------------------------------------------------------------------------- 1 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 2 | <'a'='http://a.com/1.0'> 3 | <'b'='http://b.com/1.0'> 4 | 5 | [b:primaryType] > a:primaryType 6 | - b:property (String) 7 | 8 | [b:primaryType2] > a:primaryType2 9 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-content/META-INF/vault/nodetypes.cnd: -------------------------------------------------------------------------------- 1 | <'sling'='http://sling.apache.org/jcr/sling/1.0'> 2 | 3 | [sling:Folder] > nt:folder 4 | - * (undefined) 5 | - * (undefined) multiple 6 | + * (nt:base) = sling:Folder version 7 | 8 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-libs/META-INF/vault/nodetypes.cnd: -------------------------------------------------------------------------------- 1 | <'sling'='http://sling.apache.org/jcr/sling/1.0'> 2 | 3 | [sling:Folder] > nt:folder 4 | - * (undefined) 5 | - * (undefined) multiple 6 | + * (nt:base) = sling:Folder version 7 | 8 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-mixed/META-INF/vault/nodetypes.cnd: -------------------------------------------------------------------------------- 1 | <'sling'='http://sling.apache.org/jcr/sling/1.0'> 2 | 3 | [sling:Folder] > nt:folder 4 | - * (undefined) 5 | - * (undefined) multiple 6 | + * (nt:base) = sling:Folder version 7 | 8 | -------------------------------------------------------------------------------- /core/src/test/resources/manifestWithManyHeaders.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Numbers: one,two,three 3 | Paths: /test/one,/test/two;someattribute=3,/test/three;otherattr=4;otherattr2=eleventy 4 | Quotes: "/test/one","test/two;stillPath";someattribute=3,/test/three 5 | -------------------------------------------------------------------------------- /core/src/test/resources/with-embedded-package/META-INF/vault/nodetypes.cnd: -------------------------------------------------------------------------------- 1 | <'sling'='http://sling.apache.org/jcr/sling/1.0'> 2 | 3 | [sling:Folder] > nt:folder 4 | - * (undefined) 5 | - * (undefined) multiple 6 | + * (nt:base) = sling:Folder version 7 | 8 | -------------------------------------------------------------------------------- /core/src/test/resources/with-embedded-package/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /cli/src/test/resources/simple-content/jcr_root/etc/example/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-content/jcr_root/etc/example/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-libs/jcr_root/apps/example/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-mixed/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-mixed/jcr_root/apps/example/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-mixed/jcr_root/etc/example/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /cli/src/test/resources/simple-content/jcr_root/content/example/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /core/src/test/resources/package_with_bad_installhook/META-INF/vault/hooks/oakpal-testing-hooktest.hook-0.0.1-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamcin/oakpal/HEAD/core/src/test/resources/package_with_bad_installhook/META-INF/vault/hooks/oakpal-testing-hooktest.hook-0.0.1-SNAPSHOT.jar -------------------------------------------------------------------------------- /core/src/test/resources/simple-content/jcr_root/content/example/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-mixed/jcr_root/content/example/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /calipers/ui.apps/src/main/content/jcr_root/apps/oakpal-caliper/config/org.apache.sling.jcr.repoinit.RepositoryInitializer~init.config: -------------------------------------------------------------------------------- 1 | scripts=[ 2 | "register nodetypes\n<<===\n<'sling'='http://sling.apache.org/jcr/sling/1.0'>\n[sling:OsgiConfig] > nt:unstructured, nt:hierarchyNode\n===>>\n" 3 | ] -------------------------------------------------------------------------------- /cli/src/scripts/oakpal.bat: -------------------------------------------------------------------------------- 1 | set DIRNAME=%~dp0 2 | if "%DIRNAME%" == "" set DIRNAME=. 3 | set APP_HOME=%DIRNAME%.. 4 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 5 | 6 | java -Dnashorn.args="--no-deprecation-warning" %JAVA_OPTS% -cp "%APP_HOME%\*;%APP_HOME%\lib\*" net.adamcin.oakpal.cli.Main %* 7 | -------------------------------------------------------------------------------- /cli/src/test/resources/opears/adhocPlan/plan.json: -------------------------------------------------------------------------------- 1 | { 2 | "checks": [ 3 | { 4 | "name": "simpleEcho", 5 | "impl": "echo.js" 6 | } 7 | ], 8 | "repoInits": [ 9 | "create user simplePlan1", 10 | "create user simplePlan2" 11 | ], 12 | "repoInitUrls": [ 13 | "repoinit1.txt" 14 | ] 15 | } -------------------------------------------------------------------------------- /core/src/test/resources/OpearFileTest/embedded_module_src/OAKPAL-INF/checklists/embedded-checklist.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "embedded-checklist", 3 | "checks": [ 4 | { 5 | "name": "embedded-check", 6 | "impl": "embeddedCheck.js" 7 | } 8 | ], 9 | "cndNames": [ 10 | "a.cnd", 11 | "b.cnd" 12 | ] 13 | } -------------------------------------------------------------------------------- /testing/README.md: -------------------------------------------------------------------------------- 1 | # oakpal-testing 2 | 3 | A simple set of utilities to support testing oakpal logic. 4 | 5 | 1. `TestPackageUtil`: useful for creating jars and filevault zip files. 6 | 7 | 2. `oakpaltest.Handler`: java URLStreamHandler implementation that resolves URLs as file paths relative to the test 8 | execution working directory. -------------------------------------------------------------------------------- /calipers/README.md: -------------------------------------------------------------------------------- 1 | # OakPAL Caliper 2 | 3 | The OakPAL Caliper is a content package that exercises all the features of the OakMachine and events handled by the 4 | ProgressCheck interface. It is published as an artifact in its own right so that it can be used as a standalone 5 | self-test for a configured instance of the CLI or Maven Plugin. -------------------------------------------------------------------------------- /cli/src/scripts/oakpal: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | appHome="$(cd "$(dirname "$(dirname "$0")")" && pwd)" 3 | oakpalCp=$(ls "${appHome}"/oakpal-cli-*.jar) 4 | for libjar in $(find "${appHome}/lib" -name '*.jar' -type f); do 5 | oakpalCp="${oakpalCp}:${libjar}" 6 | done 7 | java -Dnashorn.args="--no-deprecation-warning" ${JAVA_OPTS} -cp "${oakpalCp}" net.adamcin.oakpal.cli.Main "$@" 8 | 9 | -------------------------------------------------------------------------------- /cli/src/scripts/oakpal.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | appHome="$(cd "$(dirname "$(dirname "$0")")" && pwd)" 3 | oakpalCp=$(ls "${appHome}"/oakpal-cli-*.jar) 4 | for libjar in $(find "${appHome}/lib" -name '*.jar' -type f); do 5 | oakpalCp="${oakpalCp}:${libjar}" 6 | done 7 | java -Dnashorn.args="--no-deprecation-warning" ${JAVA_OPTS} -cp "${oakpalCp}" net.adamcin.oakpal.cli.Main "$@" 8 | 9 | -------------------------------------------------------------------------------- /cli/src/main/java/net/adamcin/oakpal/cli/DisposablePrinter.java: -------------------------------------------------------------------------------- 1 | package net.adamcin.oakpal.cli; 2 | 3 | import java.util.function.Function; 4 | 5 | import net.adamcin.oakpal.api.Nothing; 6 | 7 | /** 8 | * Extension of simple IO printer function type to add a dispose() method. 9 | */ 10 | public interface DisposablePrinter extends Function> { 11 | void dispose(); 12 | } 13 | -------------------------------------------------------------------------------- /cli/src/main/java/net/adamcin/oakpal/cli/StructuredMessage.java: -------------------------------------------------------------------------------- 1 | package net.adamcin.oakpal.cli; 2 | 3 | import net.adamcin.oakpal.api.JsonObjectConvertible; 4 | 5 | /** 6 | * Extends {@link JsonObjectConvertible} to ensure conformance with --output json. When 7 | * rendered with --output text, 8 | * {@code toString()} will be called. 9 | */ 10 | public interface StructuredMessage extends JsonObjectConvertible { 11 | } 12 | -------------------------------------------------------------------------------- /cli/Dockerfile: -------------------------------------------------------------------------------- 1 | # prototype dockerfile for faster iterations 2 | FROM adoptopenjdk/openjdk14-openj9:alpine-slim 3 | RUN mkdir -p /app/oakpal-cli 4 | COPY target/oakpal-cli-*-dist.tar.gz /app 5 | RUN tar --strip-components 1 -C /app/oakpal-cli -zxf /app/oakpal-cli-*-dist.tar.gz \ 6 | && rm -f /app/oakpal-cli-*-dist.tar.gz 7 | 8 | ENV JAVA_OPTS "" 9 | ENV OAKPAL_OPEAR "." 10 | RUN mkdir -p /work 11 | WORKDIR /work 12 | ENTRYPOINT ["/app/oakpal-cli/bin/oakpal.sh"] 13 | 14 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM maven:3.6.3-jdk-8 AS build 2 | ADD . /app 3 | WORKDIR /app 4 | RUN mvn -B clean install -am -pl cli 5 | 6 | FROM adoptopenjdk/openjdk14-openj9:alpine-slim 7 | RUN mkdir -p /app/oakpal-cli 8 | COPY --from=build /app/cli/target/oakpal-cli-*-dist.tar.gz /app 9 | RUN tar --strip-components 1 -C /app/oakpal-cli -zxf /app/oakpal-cli-*-dist.tar.gz \ 10 | && rm -f /app/oakpal-cli-*-dist.tar.gz 11 | 12 | ENV JAVA_OPTS "" 13 | ENV OAKPAL_OPEAR "." 14 | RUN mkdir -p /work 15 | WORKDIR /work 16 | ENTRYPOINT ["/app/oakpal-cli/bin/oakpal.sh"] 17 | 18 | -------------------------------------------------------------------------------- /core/src/test/resources/ChecklistPlannerTest/alpha/alpha.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "alpha", 3 | "checks": [ 4 | { 5 | "name": "pathy", 6 | "inlineScript": "function importedPath(path) { println(path); }" 7 | } 8 | ], 9 | "jcrNamespaces": [ 10 | { 11 | "prefix": "alpha", 12 | "uri": "http://alpha.com" 13 | } 14 | ], 15 | "jcrNodetypes": { 16 | "alpha:primaryType": { 17 | "extends": ["nt:base"] 18 | } 19 | }, 20 | "forcedRoots": [ 21 | { 22 | "path": "/ChecklistPlannerTest/alpha", 23 | "primaryType": "alpha:primaryType" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /core/src/test/resources/ChecklistPlannerTest/charlie/charlie.json: -------------------------------------------------------------------------------- 1 | { 2 | "checks": [ 3 | { 4 | "name": "pathy", 5 | "inlineScript": "function importedPath(path) { println(path); }" 6 | } 7 | ], 8 | "jcrNamespaces": [ 9 | { 10 | "prefix": "charlie", 11 | "uri": "http://charlie.com" 12 | } 13 | ], 14 | "jcrNodetypes": { 15 | "charlie:primaryType": { 16 | "extends": ["nt:base"] 17 | } 18 | }, 19 | "forcedRoots": [ 20 | { 21 | "path": "/ChecklistPlannerTest/charlie", 22 | "primaryType": "charlie:primaryType" 23 | } 24 | ] 25 | } 26 | 27 | -------------------------------------------------------------------------------- /core/src/test/resources/ChecklistPlannerTest/bravo/bravo-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bravo-1", 3 | "checks": [ 4 | { 5 | "name": "pathy", 6 | "inlineScript": "function importedPath(path) { println(path); }" 7 | } 8 | ], 9 | "jcrNamespaces": [ 10 | { 11 | "prefix": "bravo", 12 | "uri": "http://bravo.com" 13 | } 14 | ], 15 | "jcrNodetypes": { 16 | "bravo:primaryType": { 17 | "extends": ["nt:base"] 18 | } 19 | }, 20 | "forcedRoots": [ 21 | { 22 | "path": "/ChecklistPlannerTest/bravo-1", 23 | "primaryType": "bravo:primaryType" 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /core/src/test/resources/ChecklistPlannerTest/bravo/bravo-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bravo-2", 3 | "checks": [ 4 | { 5 | "name": "pathy", 6 | "inlineScript": "function importedPath(path) { println(path); }" 7 | } 8 | ], 9 | "jcrNamespaces": [ 10 | { 11 | "prefix": "bravo", 12 | "uri": "http://bravo.com" 13 | } 14 | ], 15 | "jcrNodetypes": { 16 | "bravo:primaryType": { 17 | "extends": ["nt:base"] 18 | } 19 | }, 20 | "forcedRoots": [ 21 | { 22 | "path": "/ChecklistPlannerTest/bravo-2", 23 | "primaryType": "bravo:primaryType" 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /core/src/test/resources/test_module/emptyHandler.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | -------------------------------------------------------------------------------- /api/src/main/resources/net/adamcin/oakpal/api/SimpleProgressCheck.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | -------------------------------------------------------------------------------- /testing/src/test/resources/embedded/someScript.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | // does nothing -------------------------------------------------------------------------------- /cli/src/test/resources/checklists/test_module/test_module-handler.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | -------------------------------------------------------------------------------- /core/src/test/resources/OakpalPlanTest/checkNothing.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | // does nothing -------------------------------------------------------------------------------- /core/src/test/resources/ScriptProgressCheckTest/checkNoName.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | -------------------------------------------------------------------------------- /core/src/test/resources/net/adamcin/oakpal/core/SilencingCheckFacadeTest.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | -------------------------------------------------------------------------------- /core/src/test/resources/net/adamcin/oakpal/core/checks/JcrPropertiesTest.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | -------------------------------------------------------------------------------- /core/src/test/resources/OpearFileTest/embedded_module_src/embeddedCheck.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | -------------------------------------------------------------------------------- /core/src/test/resources/net/adamcin/oakpal/core/ProgressCheckAliasFacadeTest.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | -------------------------------------------------------------------------------- /api/src/test/resources/net/adamcin/oakpal/api/SimpleProgressCheckTest.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | testKey=yeKtset -------------------------------------------------------------------------------- /core/src/test/resources/ScriptProgressCheckTest/checkWithResources.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | testKey=yeKtset -------------------------------------------------------------------------------- /core/src/test/resources/net/adamcin/oakpal/core/OakpalPlanTest.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | testKey=yeKtset 18 | -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/blankFoo.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/emptyFoo.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/fooBar.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | bar -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/fooFoo.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | foo -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/topFoo.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | top -------------------------------------------------------------------------------- /core/src/test/resources/ScriptProgressCheckTest/overrideResourceBundle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | testKey=yeKtsettestKey -------------------------------------------------------------------------------- /core/src/test/resources/net/adamcin/oakpal/core/DefaultErrorListenerTest.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | testKey=yeKtset 18 | -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/fooFalse.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | false -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/fooNull.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | null -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/fooNumber.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | -500 -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/fooTrue.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | true -------------------------------------------------------------------------------- /api/src/main/resources/net/adamcin/oakpal/api/SimpleViolationTest.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | first\ {0}\ then\ {1}=first {0} then {1} -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/fooArray.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | ["one", "two"] -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/fooObject.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | {"key": "value"} -------------------------------------------------------------------------------- /core/src/main/java/net/adamcin/oakpal/shaded/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.shaded; 18 | -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/invalidHint.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | true -------------------------------------------------------------------------------- /api/src/main/resources/net/adamcin/oakpal/api/SimpleViolationTestReversed.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | first\ {0}\ then\ {1}=first {1} then {0} -------------------------------------------------------------------------------- /core/src/test/resources/ScriptProgressCheckTest/checkNoExt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | function getFoo() { 18 | return "foo"; 19 | } -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/foosBar.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | one 19 | -------------------------------------------------------------------------------- /maven/src/test/resources/JsonConverterTest/foosFoo.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | one 19 | -------------------------------------------------------------------------------- /maven/src/test/resources/OpearPackageMojoTest/echo.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | function startedScan() { 18 | print("Hello, World!"); 19 | } -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/Overlaps.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | affected\ path\ {0}\ overlaps\ {1}=affected path {0} overlaps {1} -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/ExpectAces.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | expected\:\ {0}=expected: {0} 18 | unexpected\:\ {0}=unexpected: {0} -------------------------------------------------------------------------------- /core/src/test/resources/ScriptProgressCheckTest/checkNameThrows.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | function getCheckName() { 18 | return noObj.method(); 19 | } -------------------------------------------------------------------------------- /core/src/test/resources/ScriptProgressCheckTest/checkWithName.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | function getCheckName() { 18 | return "some check"; 19 | } -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/ExpectAces_de.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | expected\:\ {0}=erwartete: {0} 18 | unexpected\:\ {0}=unerwartet: {0} -------------------------------------------------------------------------------- /core/src/test/resources/ScriptProgressCheckTest/checkWithResources.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | function getCheckName() { 18 | return "some check"; 19 | } -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/Overlaps_de.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | affected\ path\ {0}\ overlaps\ {1}=betroffener Pfad {0} \u00fcberlappt mit {1} -------------------------------------------------------------------------------- /core/src/test/resources/ScriptProgressCheckTest/checkNameFromConfig.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | function getCheckName() { 18 | return config.checkNameForTest; 19 | } -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/noReferences/jcr_root/.content.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /api/src/main/java/net/adamcin/oakpal/api/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | @Version("2.2.3") 17 | package net.adamcin.oakpal.api; 18 | 19 | import org.osgi.annotation.versioning.Version; 20 | -------------------------------------------------------------------------------- /cli/README.md: -------------------------------------------------------------------------------- 1 | CLI architecture 2 | ================ 3 | 4 | Main-Class: net.adamcin.oakpal.cli.Main 5 | 6 | see [`Main --help`](src/main/resources/net/adamcin/oakpal/cli/help.txt) 7 | 8 | ## Docker Image 9 | 10 | * Docker-oriented: the Dockerfile will live in the root of the oakpal repo, and it will run a multi-stage build to execute maven, then extract the cli distributable. 11 | 12 | The oakpal docker image is built on adoptopenjdk11 / OpenJ9. 13 | 14 | # pull the latest 15 | docker pull adamcin/oakpal:latest 16 | 17 | # print the help text 18 | docker run -v $(pwd):/work adamcin/oakpal --help 19 | 20 | # scan a file using the basic checklist 21 | cp my-content-package.zip 22 | docker run -v $(pwd):/work adamcin/oakpal my-content-package.zip 23 | 24 | 25 | -------------------------------------------------------------------------------- /core/src/main/java/net/adamcin/oakpal/core/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @Version("2.2.3") 18 | package net.adamcin.oakpal.core; 19 | 20 | import org.osgi.annotation.versioning.Version; 21 | -------------------------------------------------------------------------------- /core/src/test/resources/simpleHandler.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Created by madamcin on 5/10/17. 19 | */ 20 | 21 | function startedScan() { 22 | print("startedScan"); 23 | } 24 | 25 | -------------------------------------------------------------------------------- /api/src/test/filtered-resources/test-packages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2018 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | test-packages.root=${project.build.directory} 18 | test-packages.src=/jackrabbit-filevault-${vault-api.version}/${vault.test-packages.src}/ 19 | -------------------------------------------------------------------------------- /cli/src/test/filtered-resources/test-packages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2018 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | test-packages.root=${project.build.directory} 18 | test-packages.src=/jackrabbit-filevault-${vault-api.version}/${vault.test-packages.src}/ 19 | -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/ExpectPaths.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | expected\ path\ missing\:\ {0}=expected path missing: {0} 18 | unexpected\ path\ present\:\ {0}=unexpected path present: {0} -------------------------------------------------------------------------------- /core/src/test/filtered-resources/test-packages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2018 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | test-packages.root=${project.build.directory} 18 | test-packages.src=/jackrabbit-filevault-${vault-api.version}/${vault.test-packages.src}/ 19 | -------------------------------------------------------------------------------- /core/src/test/resources/ScriptProgressCheckTest/throwsRepositoryException.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | function throwsRepositoryException() { 18 | throw new javax.jcr.RepositoryException("error"); 19 | } 20 | -------------------------------------------------------------------------------- /maven/src/test/filtered-resources/test-packages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2018 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | test-packages.root=${project.build.directory} 18 | test-packages.src=/jackrabbit-filevault-${vault-api.version}/${vault.test-packages.src}/ 19 | -------------------------------------------------------------------------------- /testing/src/test/filtered-resources/test-packages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2018 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | test-packages.root=${project.build.directory} 18 | test-packages.src=/jackrabbit-filevault-${vault-api.version}/${vault.test-packages.src}/ 19 | -------------------------------------------------------------------------------- /webster/src/main/java/net/adamcin/oakpal/webster/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @Version("2.2.3") 18 | package net.adamcin.oakpal.webster; 19 | 20 | import org.osgi.annotation.versioning.Version; 21 | -------------------------------------------------------------------------------- /webster/src/test/filtered-resources/test-packages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2019 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | test-packages.root=${project.build.directory} 18 | test-packages.src=/jackrabbit-filevault-${vault-api.version}/${vault.test-packages.src}/ 19 | -------------------------------------------------------------------------------- /core/src/main/java/net/adamcin/oakpal/core/checks/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @Version("2.2.3") 18 | package net.adamcin.oakpal.core.checks; 19 | 20 | import org.osgi.annotation.versioning.Version; 21 | -------------------------------------------------------------------------------- /core/src/main/java/net/adamcin/oakpal/core/opear/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @Version("2.2.3") 18 | package net.adamcin.oakpal.core.opear; 19 | 20 | import org.osgi.annotation.versioning.Version; 21 | -------------------------------------------------------------------------------- /core/src/main/java/net/adamcin/oakpal/core/sling/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @Version("2.2.3") 18 | package net.adamcin.oakpal.core.sling; 19 | 20 | import org.osgi.annotation.versioning.Version; 21 | -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/ExpectPaths_de.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | expected\ path\ missing\:\ {0}=erwarteter Pfad fehlt: {0} 18 | unexpected\ path\ present\:\ {0}=unerwarteter Pfad enthalten: {0} -------------------------------------------------------------------------------- /cli/src/test/resources/opears/adhocPlan/echo.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | function startedScan() { 18 | print("startedScan"); 19 | } 20 | 21 | function importedPath(path) { 22 | print("importedPath("+path+")"); 23 | } -------------------------------------------------------------------------------- /cli/src/test/resources/opears/simpleEcho/echo.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | function startedScan() { 18 | print("startedScan"); 19 | } 20 | 21 | function importedPath(path) { 22 | print("importedPath("+path+")"); 23 | } -------------------------------------------------------------------------------- /core/src/main/java/net/adamcin/oakpal/core/repoinit/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @Version("2.2.3") 18 | package net.adamcin.oakpal.core.repoinit; 19 | 20 | import org.osgi.annotation.versioning.Version; 21 | -------------------------------------------------------------------------------- /webster/src/test/resources/sling_nodetypes.cnd: -------------------------------------------------------------------------------- 1 | <'sling'='http://sling.apache.org/jcr/sling/1.0'> 2 | <'nt'='http://www.jcp.org/jcr/nt/1.0'> 3 | <'jcr'='http://www.jcp.org/jcr/1.0'> 4 | 5 | [sling:Folder] > nt:folder 6 | - * (undefined) 7 | - * (undefined) multiple 8 | + * (nt:base) = sling:Folder version 9 | 10 | [sling:ResourceSuperType] 11 | mixin 12 | - sling:resourceSuperType (string) 13 | 14 | [sling:OsgiConfig] > nt:hierarchyNode, nt:unstructured 15 | 16 | [sling:VanityPath] 17 | mixin 18 | - sling:vanityPath (string) multiple 19 | - sling:redirect (boolean) 20 | - sling:vanityOrder (long) 21 | - sling:redirectStatus (long) 22 | 23 | [sling:Resource] 24 | mixin 25 | - sling:resourceType (string) 26 | 27 | [sling:OrderedFolder] > sling:Folder 28 | orderable 29 | + * (nt:base) = sling:OrderedFolder version 30 | 31 | -------------------------------------------------------------------------------- /webster/src/main/java/net/adamcin/oakpal/webster/targets/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @Version("2.2.3") 18 | package net.adamcin.oakpal.webster.targets; 19 | 20 | import org.osgi.annotation.versioning.Version; 21 | -------------------------------------------------------------------------------- /core/src/test/resources/package_with_bad_installhook/META-INF/vault/settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/oneNtRef/jcr_root/.content.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /calipers/ui.apps/src/main/content/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /testing/src/test/resources/extracted/simple/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /calipers/all/src/main/content/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /calipers/ui.content/src/main/content/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /core/src/test/resources/new_user_package/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /calipers/ui.content.suba2/src/main/content/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /calipers/ui.content.subb3/src/main/content/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /calipers/ui.content.subc1/src/main/content/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /core/src/test/resources/constraint_violator_package/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /calipers/ui.apps.author/src/main/content/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /calipers/ui.apps.publish/src/main/content/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /calipers/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /calipers/all/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /maven/src/test/resources/unit/opear1/src/main/resources/echoCheck.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | function getCheckName() { 18 | return "Test Output Script Check" 19 | } 20 | 21 | function importedPath(path) { 22 | print("importedPath(path = " + path + ")"); 23 | } 24 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/oneNtRefAndDef/jcr_root/.content.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /calipers/ui.apps/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /calipers/ui.apps.author/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /calipers/ui.content/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /calipers/ui.apps.publish/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /calipers/ui.apps.structure/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /calipers/ui.content.suba2/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /calipers/ui.content.subb3/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /calipers/ui.content.subc1/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /core/src/test/resources/jcr_prop_constraints_playground/META-INF/vault/filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-libs/META-INF/vault/properties.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FileVault Package Properties 5 | admin 6 | simple-libs 7 | 2012-04-24T10:17:21.641+05:30 8 | admin 9 | 2012-04-24T10:17:21.969+05:30 10 | 1 11 | 1.0 12 | 13 | 2 14 | my_packages 15 | 2012-04-24T10:17:21.641+05:30 16 | 17 | admin 18 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-mixed/META-INF/vault/properties.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FileVault Package Properties 5 | admin 6 | simple-mixed 7 | 2012-04-24T10:17:21.641+05:30 8 | admin 9 | 2012-04-24T10:17:21.969+05:30 10 | 1 11 | 1.0 12 | 13 | 2 14 | my_packages 15 | 2012-04-24T10:17:21.641+05:30 16 | 17 | admin 18 | -------------------------------------------------------------------------------- /cli/src/test/resources/simple-content/META-INF/vault/properties.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FileVault Package Properties 5 | admin 6 | simple-content 7 | 2012-04-24T10:17:21.641+05:30 8 | admin 9 | 2012-04-24T10:17:21.969+05:30 10 | 1 11 | 1.0 12 | 13 | 2 14 | my_packages 15 | 2012-04-24T10:17:21.641+05:30 16 | 17 | admin 18 | -------------------------------------------------------------------------------- /core/src/test/resources/jcr_prop_constraints_playground/jcr_root/apps/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /core/src/test/resources/simple-content/META-INF/vault/properties.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FileVault Package Properties 5 | admin 6 | simple-content 7 | 2012-04-24T10:17:21.641+05:30 8 | admin 9 | 2012-04-24T10:17:21.969+05:30 10 | 1 11 | 1.0 12 | 13 | 2 14 | my_packages 15 | 2012-04-24T10:17:21.641+05:30 16 | 17 | admin 18 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/onePrivRefAndDef/META-INF/vault/privileges.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /core/src/test/resources/with-embedded-package/META-INF/vault/properties.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FileVault Package Properties 5 | admin 6 | simple-content 7 | 2012-04-24T10:17:21.641+05:30 8 | admin 9 | 2012-04-24T10:17:21.969+05:30 10 | 1 11 | 1.0 12 | 13 | 2 14 | my_packages 15 | 2012-04-24T10:17:21.641+05:30 16 | 17 | admin 18 | -------------------------------------------------------------------------------- /testing/src/test/resources/extracted/simple/jcr_root/apps/oakpal/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 20 | -------------------------------------------------------------------------------- /core/src/test/resources/new_user_package/jcr_root/home/users/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /core/src/test/resources/package_with_bad_installhook/META-INF/vault/properties.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | OakPAL Testing - Hook Test Content Package 5 | jedelson 6 | oakpal-testing-hooktest.ui.apps 7 | merge_preserve 8 | 2019-06-24T20:25:50.546-0400 9 | com.myco.testing 10 | 0.0.1-SNAPSHOT 11 | false 12 | my-co 13 | Maven Multimodule project for OakPAL Testing - HookTest. 14 | oakpal-testing-hooktest.ui.apps 15 | /etc/packages/my-co/oakpal-testing-hooktest.ui.apps.zip 16 | 17 | -------------------------------------------------------------------------------- /api/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /cli/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/Subpackages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | subpackage\ {0}\ included\ by\ {1}.\ no\ subpackages\ are\ allowed.=subpackage {0} included by {1}. no subpackages are allowed. 18 | subpackage\ {0}\ included\ by\ {1}\ matches\ deny\ pattern\ {2}=subpackage {0} included by {1} matches deny pattern {2} -------------------------------------------------------------------------------- /testing/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/ntRefsSlingFolderOrderedFolder/jcr_root/.content.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /core/src/test/resources/constraint_violator_package/jcr_root/apps/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /calipers/ui.apps/src/main/content/jcr_root/apps/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/Paths.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | imported\ path\ {0}\ matches\ deny\ pattern\ {1}=imported path {0} matches deny pattern {1} 18 | deleted\ path\ {0}.\ All\ deletions\ are\ denied.=deleted path {0}. All deletions are denied. 19 | deleted\ path\ {0}\ matches\ deny\ rule\ {1}=deleted path {0} matches deny rule {1} -------------------------------------------------------------------------------- /calipers/ui.apps.author/src/main/content/jcr_root/apps/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /calipers/ui.apps.publish/src/main/content/jcr_root/apps/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /calipers/ui.apps/src/main/content/jcr_root/apps/oakpal-caliper/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/Subpackages_de.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | subpackage\ {0}\ included\ by\ {1}.\ no\ subpackages\ are\ allowed.=Subpackage {0} ist beinhaltet in {1}. Subpackages sind nicht erlaubt. 18 | subpackage\ {0}\ included\ by\ {1}\ matches\ deny\ pattern\ {2}=Subpackage {0} beinhaltet in {1} stimmt mit dem deny Pattern \u00fcberein {2} -------------------------------------------------------------------------------- /core/src/test/resources/constraint_violator_package/jcr_root/apps/acme/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /calipers/ui.content/src/main/content/jcr_root/content/oakpal-caliper/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /core/src/test/resources/constraint_violator_package/jcr_root/apps/acme/docs/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /core/src/test/resources/simpleChecklist.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simpleChecklist", 3 | "cndNames": [ 4 | "a.cnd", 5 | "b.cnd" 6 | ], 7 | "cndUrls": [ 8 | "notValid:/foo.cnd" 9 | ], 10 | "jcrNodetypes": { 11 | "lapkao:primaryType": { 12 | "<": "nt:hierarchyNode" 13 | }, 14 | "lapkao:mixinType": { 15 | "@": ["mixin"] 16 | } 17 | }, 18 | "jcrNamespaces": [ 19 | { 20 | "prefix": "lapkao", 21 | "uri": "simpleNS" 22 | } 23 | ], 24 | "jcrPrivileges": [ 25 | "lapkao:dummy" 26 | ], 27 | "forcedRoots": [ 28 | { 29 | "path": "/home/oakpal", 30 | "primaryType": "lapkao:primaryType", 31 | "mixinTypes": ["oakpal:Mixin", "lapkao:mixinType"] 32 | } 33 | ], 34 | "checks": [ 35 | { 36 | "name": "emptyHandler", 37 | "impl": "emptyHandler.js" 38 | } 39 | ], 40 | "repoInits": [ 41 | "create system user simpleChecklistUser1", 42 | "create system user simpleChecklistUser2" 43 | ] 44 | } -------------------------------------------------------------------------------- /calipers/ui.content.suba2/src/main/content/jcr_root/content/oakpal-caliper/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /calipers/ui.content.subb3/src/main/content/jcr_root/content/oakpal-caliper/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /calipers/ui.content.subc1/src/main/content/jcr_root/content/oakpal-caliper/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/FilterSets.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | empty\ workspace\ filter\ is\ not\ allowed=empty workspace filter is not allowed 18 | non-default\ import\ mode\ {0}\ defined\ for\ filterSet\ with\ root\ {1}=non-default import mode {0} defined for filterSet with root {1} 19 | root\ filter\ sets\ are\ not\ allowed=root filter sets are not allowed -------------------------------------------------------------------------------- /maven/src/test/resources/unit/happyscan/src/test/resources/testOutputScriptCheck.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | function getCheckName() { 18 | return "Test Output Script Check" 19 | } 20 | 21 | function startedScan() { 22 | if (config) { 23 | print("config: " + config); 24 | 25 | oakpal.minorViolation("keys: " + config.keySet()) 26 | } 27 | } 28 | 29 | -------------------------------------------------------------------------------- /calipers/ui.apps.author/src/main/content/jcr_root/apps/oakpal-caliper-author/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /calipers/ui.apps.publish/src/main/content/jcr_root/apps/oakpal-caliper-publish/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /calipers/ui.content.suba2/src/main/content/jcr_root/content/oakpal-caliper/alpha/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /calipers/ui.content.subb3/src/main/content/jcr_root/content/oakpal-caliper/bravo/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /calipers/ui.content.subc1/src/main/content/jcr_root/content/oakpal-caliper/charlie/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /cli/src/main/java/net/adamcin/oakpal/cli/IO.java: -------------------------------------------------------------------------------- 1 | package net.adamcin.oakpal.cli; 2 | 3 | import java.util.function.Function; 4 | import java.util.function.Supplier; 5 | 6 | import net.adamcin.oakpal.api.Nothing; 7 | 8 | /** 9 | * Just a simple IO monad. 10 | * 11 | * @param the type of value read from "input" after execution, to be fed back into the functional execution chain. 12 | */ 13 | public interface IO extends Supplier { 14 | 15 | default IO add(final IO io) { 16 | return () -> { 17 | IO.this.get(); 18 | return io.get(); 19 | }; 20 | } 21 | 22 | IO empty = () -> Nothing.instance; 23 | 24 | static IO unit(A a) { 25 | return () -> a; 26 | } 27 | 28 | default IO map(final Function f) { 29 | return () -> f.apply(this.get()); 30 | } 31 | 32 | default IO flatMap(final Function> f) { 33 | return () -> f.apply(this.get()).get(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /core/src/test/resources/new_user_package/jcr_root/home/users/acme/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 23 | -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/FilterSets_de.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | empty\ workspace\ filter\ is\ not\ allowed=leere Workspace Filter sind nicht erlaubt 18 | non-default\ import\ mode\ {0}\ defined\ for\ filterSet\ with\ root\ {1}= non-default Importmodus {0} definiert f\u00fcr filterSet mit Wurzel {1} 19 | root\ filter\ sets\ are\ not\ allowed=Root-Filtersets sind nicht erlaubt -------------------------------------------------------------------------------- /maven/src/test/resources/WebsterMojoTest/content-package/pom.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 4.0.0 19 | com.example 20 | test-content-package 21 | 1.0-SNAPSHOT 22 | content-package 23 | -------------------------------------------------------------------------------- /core/src/main/java/net/adamcin/oakpal/core/ProgressCheck.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.core; 18 | 19 | import org.osgi.annotation.versioning.ProviderType; 20 | 21 | /** 22 | * @deprecated 2.0.0 use {@link net.adamcin.oakpal.api.ProgressCheck} 23 | */ 24 | @Deprecated 25 | @ProviderType 26 | public interface ProgressCheck extends net.adamcin.oakpal.api.ProgressCheck { 27 | } 28 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/onePrivRef/jcr_root/.content.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 23 | 24 | -------------------------------------------------------------------------------- /cli/src/test/java/net/adamcin/oakpal/cli/IOTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.cli; 18 | 19 | import org.junit.Test; 20 | 21 | import static org.junit.Assert.*; 22 | 23 | public class IOTest { 24 | 25 | @Test 26 | public void testMap() { 27 | IO io = IO.unit(42); 28 | assertEquals("map works", "42", io.map(value -> value.toString()).get()); 29 | } 30 | } -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/twoPrivRefs/jcr_root/.content.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 23 | 24 | -------------------------------------------------------------------------------- /core/src/test/java/net/adamcin/oakpal/it/OakMachineCaliperIT.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.it; 18 | 19 | import org.junit.Before; 20 | 21 | /** 22 | * Run end-to-end tests using shaded jar. 23 | */ 24 | public class OakMachineCaliperIT extends OakMachineCaliperTest { 25 | 26 | @Before 27 | public void setUp() throws Exception { 28 | super.setUp(); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /core/src/test/resources/jcr_prop_constraints_playground/jcr_root/apps/aperture/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /webster/src/test/resources/filevault/onePrivRefAndDef/jcr_root/.content.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 23 | -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/AcHandling.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | acHandling\ mode\ {0}\ is\ forbidden.\ acHandling\ values\ in\ allowedModes\ are\ {1}=acHandling mode {0} is forbidden. acHandling values in allowedModes are {1} 18 | acHandling\ mode\ {0}\ is\ forbidden.\ allowed\ acHandling\ values\ in\ levelSet\:{1}\ are\ {2}=acHandling mode {0} is forbidden. allowed acHandling values in levelSet:{1} are {2} -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/CompositeStoreAlignment.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | package\ content\ not\ aligned\ to\ a\ single\ composite\ store\ mount\ ({0})=package content not aligned to a single composite store mount ({0}) 18 | recursive\ package\ installation\ not\ aligned\ to\ a\ single\ composite\ store\ mount\ ({0})=recursive package installation not aligned to a single composite store mount ({0}) 19 | and=and -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/Paths_de.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | imported\ path\ {0}\ matches\ deny\ pattern\ {1}=importierter Pfad {0} stimmt mit dem deny Pattern \u00fcberein {1} 18 | deleted\ path\ {0}.\ All\ deletions\ are\ denied.=gel\u00f6schter Pfad {0}. Alle L\u00f6schungen wurden verweigert. 19 | deleted\ path\ {0}\ matches\ deny\ rule\ {1}=gel\u00f6schter Pfad {0} stimmt mit dem deny Pattern \u00fcberein {1} -------------------------------------------------------------------------------- /core/src/test/resources/jcr_prop_constraints_playground/jcr_root/apps/acme/.content.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 23 | -------------------------------------------------------------------------------- /calipers/ui.apps/src/main/content/jcr_root/apps/oakpal-caliper/_rep_policy.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 20 | 21 | -------------------------------------------------------------------------------- /maven/src/main/java/net/adamcin/oakpal/maven/mojo/PlanBuilderParams.java: -------------------------------------------------------------------------------- 1 | package net.adamcin.oakpal.maven.mojo; 2 | 3 | import java.io.File; 4 | import java.util.List; 5 | 6 | import net.adamcin.oakpal.core.CheckSpec; 7 | import net.adamcin.oakpal.core.ForcedRoot; 8 | import net.adamcin.oakpal.core.InstallHookPolicy; 9 | import net.adamcin.oakpal.core.JcrNs; 10 | 11 | public interface PlanBuilderParams { 12 | List getPreInstallArtifacts(); 13 | 14 | List getPreInstallFiles(); 15 | 16 | List getCndNames(); 17 | 18 | boolean isSlingNodeTypes(); 19 | 20 | List getJcrNamespaces(); 21 | 22 | List getJcrPrivileges(); 23 | 24 | List getForcedRoots(); 25 | 26 | List getChecks(); 27 | 28 | List getChecklists(); 29 | 30 | boolean isEnablePreInstallHooks(); 31 | 32 | InstallHookPolicy getInstallHookPolicy(); 33 | 34 | List getRepoInits(); 35 | 36 | List getRepoInitFiles(); 37 | 38 | List getRunModes(); 39 | } 40 | -------------------------------------------------------------------------------- /calipers/ui.content/src/main/content/jcr_root/content/oakpal-caliper/_rep_policy.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 20 | 21 | -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/AcHandling_de.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | acHandling\ mode\ {0}\ is\ forbidden.\ acHandling\ values\ in\ allowedModes\ are\ {1}=acHandling Modus {0} ist unzul\u00e4ssig. acHandling Werte in allowedModes sind {1} 18 | acHandling\ mode\ {0}\ is\ forbidden.\ allowed\ acHandling\ values\ in\ levelSet\:{1}\ are\ {2}=acHandling Modus {0} ist unzul\u00e4ssig. Erlaubte acHandling Werte im levelSet:{1} sind {2} -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/CompositeStoreAlignment_de.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | package\ content\ not\ aligned\ to\ a\ single\ composite\ store\ mount\ ({0})=Paketinhalt ist nicht auf einen einzigen composite Store Mount ausgerichtet ({0}) 18 | recursive\ package\ installation\ not\ aligned\ to\ a\ single\ composite\ store\ mount\ ({0})=rekursive Paketinstallation ist nicht auf einen einzigen composite Store Mount ausgerichtet ({0}) 19 | and=und -------------------------------------------------------------------------------- /webster/src/main/java/net/adamcin/oakpal/webster/WebsterTargetFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.webster; 18 | 19 | import org.osgi.annotation.versioning.ProviderType; 20 | 21 | import java.io.File; 22 | import javax.json.JsonObject; 23 | 24 | @ProviderType 25 | @FunctionalInterface 26 | public interface WebsterTargetFactory { 27 | 28 | WebsterTarget createTarget(File targetFile, JsonObject config) throws Exception; 29 | } 30 | -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/JcrProperties.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | {0}\ (t\:\ {1},\ m\:\ {2})\:\ denied\ node\ type\ {3}={0} (t: {1}, m: {2}): denied node type {3} 18 | property\ absent=property absent 19 | property\ present=property present 20 | property\ is\ multivalued=property is multivalued 21 | required\ type\ mismatch\:\ {0}\ !\=\ {1}=required type mismatch: {0} != {1} 22 | value\ {0}\ denied\ by\ pattern\ {1}=value {0} denied by pattern {1} -------------------------------------------------------------------------------- /api/src/main/java/net/adamcin/oakpal/api/JsonArrayConvertible.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.api; 18 | 19 | import javax.json.JsonArray; 20 | 21 | /** 22 | * Custom pojo types which should be usable within the JavaxJson DSL should implement this method to provide a 23 | * {@link JsonArray}, which can be wrapped quickly by {@code JavaxJson.val(Object)}. 24 | */ 25 | public interface JsonArrayConvertible { 26 | JsonArray toJson(); 27 | } 28 | -------------------------------------------------------------------------------- /api/src/main/java/net/adamcin/oakpal/api/JsonObjectConvertible.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.api; 18 | 19 | import javax.json.JsonObject; 20 | 21 | /** 22 | * Custom pojo types which should be usable within the JavaxJson DSL should implement this method to provide a 23 | * {@link JsonObject}, which can be wrapped quickly by {@code JavaxJson.val(Object)}. 24 | */ 25 | public interface JsonObjectConvertible { 26 | JsonObject toJson(); 27 | } 28 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip 18 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar 19 | -------------------------------------------------------------------------------- /core/src/main/resources/net/adamcin/oakpal/core/checks/JcrProperties_de.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 Mark Adamcin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | {0}\ (t\:\ {1},\ m\:\ {2})\:\ denied\ node\ type\ {3}={0} (t: {1}, m: {2}): abgelehnter Knotentyp {3} 18 | property\ absent=Property fehlt 19 | property\ present=Property enthalten 20 | property\ is\ multivalued=Property ist mehrwertig 21 | required\ type\ mismatch\:\ {0}\ !\=\ {1}=erforderlicher Typ passt nicht: {0} != {1} 22 | value\ {0}\ denied\ by\ pattern\ {1}=Wert {0} wurde verweigert durch Pattern {1} -------------------------------------------------------------------------------- /core/src/site/site.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /core/src/main/java/net/adamcin/oakpal/core/ListenerReadOnlyException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.core; 18 | 19 | import javax.jcr.RepositoryException; 20 | 21 | /** 22 | * Common exception type for attempted repository writes by ScanListeners. 23 | */ 24 | public class ListenerReadOnlyException extends RepositoryException { 25 | 26 | public ListenerReadOnlyException() { 27 | super("Listener attempted to write to repository through facade."); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /webster/src/test/resources/aem_privileges.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /maven/README.md: -------------------------------------------------------------------------------- 1 | oakpal-maven-plugin 2 | =================== 3 | 4 | _TL;DR:_ Paste the following into a content-package pom.xml and get started with oakpal-maven-plugin. 5 | 6 | 7 | net.adamcin.oakpal 8 | oakpal-maven-plugin 9 | 2.2.2 10 | 11 | 12 | 13 | scan 14 | 15 | 16 | 17 | 18 | 19 | 20 | If you develop code for AEM, then you probably build and install content-packages from source using Maven. You might 21 | also be familiar with the fact that the process of installing such a package on AEM can be prone to both 22 | non-deterministic failures and less-than-complete "successes". 23 | 24 | What you may not know is that, other than the traditional culprits of lack of disk space or permissions, or the 25 | occasional Package Manager bundle restart, the vast majority of package installation failures are caused by a capricious 26 | gremlin that lives in the packages themselves, and that gremlin's name is "DocView". 27 | 28 | -------------------------------------------------------------------------------- /maven/src/main/java/net/adamcin/oakpal/maven/mojo/MojoWithCommonParams.java: -------------------------------------------------------------------------------- 1 | package net.adamcin.oakpal.maven.mojo; 2 | 3 | import java.util.Optional; 4 | 5 | import org.apache.maven.execution.MavenSession; 6 | import org.apache.maven.plugin.Mojo; 7 | import org.apache.maven.plugin.MojoExecution; 8 | import org.apache.maven.project.MavenProject; 9 | import org.apache.maven.settings.Settings; 10 | 11 | /** 12 | * Common getters for Mojo context objects. 13 | */ 14 | public interface MojoWithCommonParams extends Mojo { 15 | /** 16 | * Get the current mojo execution. 17 | * 18 | * @return the mojo execution 19 | */ 20 | MojoExecution getExecution(); 21 | 22 | /** 23 | * Get the current maven session. 24 | * 25 | * @return the maven session 26 | */ 27 | MavenSession getSession(); 28 | 29 | /** 30 | * Get the maven settings. 31 | * 32 | * @return the maven settings 33 | */ 34 | Settings getSettings(); 35 | 36 | /** 37 | * Get the maven project if available. 38 | * 39 | * @return the maven project if available 40 | */ 41 | Optional getProject(); 42 | } 43 | -------------------------------------------------------------------------------- /api/src/main/java/net/adamcin/oakpal/api/SlingOpenable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.api; 18 | 19 | import org.osgi.annotation.versioning.ProviderType; 20 | 21 | /** 22 | * Some sling installable resources must be opened to be read, perhaps throwing an exception, and then maybe closed. 23 | * 24 | * @param the concrete resource type that can be opened from the installable type 25 | * @since 2.2.0 26 | */ 27 | @ProviderType 28 | public interface SlingOpenable extends SlingInstallable { 29 | } 30 | -------------------------------------------------------------------------------- /testing/src/main/java/net/adamcin/oakpal/testing/TestUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.testing; 18 | 19 | /** 20 | * Some simple utilities for scoped subtests. 21 | */ 22 | public class TestUtil { 23 | private TestUtil() { 24 | /* no constructor */ 25 | } 26 | 27 | public static void testBlock(final TestBody testBody) throws Exception { 28 | testBody.apply(); 29 | } 30 | 31 | @FunctionalInterface 32 | public interface TestBody { 33 | void apply() throws Exception; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /api/src/main/java/net/adamcin/oakpal/api/RuleType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.api; 18 | 19 | /** 20 | * Type for a {@link Rule}. 21 | */ 22 | public enum RuleType { 23 | INCLUDE, EXCLUDE, ALLOW, DENY; 24 | 25 | public static RuleType fromName(final String name) { 26 | for (RuleType value : RuleType.values()) { 27 | if (value.name().equalsIgnoreCase(name)) { 28 | return value; 29 | } 30 | } 31 | throw new IllegalArgumentException("RuleType not recognized: " + name); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /core/src/main/java/net/adamcin/oakpal/core/jcrfacade/JcrSessionFacade.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.core.jcrfacade; 18 | 19 | import org.jetbrains.annotations.NotNull; 20 | 21 | import javax.jcr.Session; 22 | 23 | /** 24 | * Wraps a {@link javax.jcr.Session} to guards against writes by listeners. 25 | */ 26 | public final class JcrSessionFacade extends SessionFacade implements Session { 27 | 28 | public JcrSessionFacade(final @NotNull Session delegate, final boolean notProtected) { 29 | super(delegate, notProtected); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /core/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 22 | 23 | [%level] %logger{36} - %msg%n 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /webster/src/main/java/net/adamcin/oakpal/webster/WebsterTarget.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mark Adamcin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package net.adamcin.oakpal.webster; 18 | 19 | import org.osgi.annotation.versioning.ProviderType; 20 | 21 | import javax.jcr.Session; 22 | 23 | /** 24 | * Simple interface for executing a Webster action that generates one source files. 25 | */ 26 | @ProviderType 27 | public interface WebsterTarget { 28 | 29 | /** 30 | * Perform the action using the given session. 31 | * 32 | * @param session the JCR session to export from 33 | * @throws Exception for any error 34 | */ 35 | void perform(Session session) throws Exception; 36 | } 37 | --------------------------------------------------------------------------------