diff --git a/.github/workflows/continuous.yml b/.github/workflows/continuous.yml index 985bce8..616ab7f 100644 --- a/.github/workflows/continuous.yml +++ b/.github/workflows/continuous.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - smalltalk: [ Pharo64-12 ] + smalltalk: [ Pharo64-12, Pharo64-13, Pharo64-14, Moose64-12, Moose64-13 ] name: ${{ matrix.smalltalk }} steps: - uses: actions/checkout@v2 diff --git a/.smalltalk.ston b/.smalltalk.ston index 2161231..9fe2564 100644 --- a/.smalltalk.ston +++ b/.smalltalk.ston @@ -4,6 +4,7 @@ SmalltalkCISpec { #baseline : 'MooseRuleEngine', #directory : 'src', #ignoreImage : true, + #load : [ 'tests' ], #onConflict : #useIncoming, #onUpgrade : #useIncoming } @@ -14,4 +15,4 @@ SmalltalkCISpec { #format : #lcov } } -} \ No newline at end of file +} diff --git a/README.md b/README.md index baa64e7..509afab 100644 --- a/README.md +++ b/README.md @@ -35,19 +35,31 @@ Moose-Rule-Engine is a multi-language, rule-based engine designed for code analy ### From Playground -To load the Moose-Rule-Engine from the Playground, run the following script: +To load Moose-Rule-Engine runtime from a Playground: ```st Metacello new githubUser: 'Evref-BL' project: 'Moose-Rule-Engine' commitish: 'main' path: 'src'; baseline: 'MooseRuleEngine'; + loads: #( 'default' ); + onConflict: [ :ex | ex useIncoming ]; + load. +``` + +To load everything for development, including tests: + +```st +Metacello new + githubUser: 'Evref-BL' project: 'Moose-Rule-Engine' commitish: 'main' path: 'src'; + baseline: 'MooseRuleEngine'; + loads: #( 'dev' ); onConflict: [ :ex | ex useIncoming ]; load. ``` ### Baseline Dependency -To include Moose-Rule-Engine as a dependency in your project, add the following to your baseline: +To use Moose-Rule-Engine as a dependency: ```st spec baseline: 'MooseRuleEngine' with: [ @@ -55,6 +67,8 @@ spec baseline: 'MooseRuleEngine' with: [ ]. ``` +By default this loads only the runtime package. Tests and dev dependencies are opt-in through the `tests` or `dev` groups. + --- ## Usage diff --git a/src/BaselineOfMooseRuleEngine/BaselineOfMooseRuleEngine.class.st b/src/BaselineOfMooseRuleEngine/BaselineOfMooseRuleEngine.class.st index 5535161..c069c5d 100644 --- a/src/BaselineOfMooseRuleEngine/BaselineOfMooseRuleEngine.class.st +++ b/src/BaselineOfMooseRuleEngine/BaselineOfMooseRuleEngine.class.st @@ -10,37 +10,46 @@ BaselineOfMooseRuleEngine >> baseline: spec [ spec for: #common do: [ - self defineDependencies: spec. - self definePackages: spec. - self defineGroups: spec ] + self defineDependencies: spec. + self defineDevDependencies: spec. + self definePackages: spec. + self defineGroups: spec ] ] { #category : 'dependencies' } BaselineOfMooseRuleEngine >> defineDependencies: spec [ - spec - baseline: 'Mocketry' - with: [ spec repository: 'github://dionisiydk/Mocketry' ]. - spec baseline: 'LLMAPI' - with: [ spec repository: 'github://Evref-BL/Pharo-LLMAPI:main/src' ]. + with: [ spec repository: 'github://Evref-BL/Pharo-LLMAPI:1.0.4/src' ]. spec baseline: 'SonarqubePharoAPI' with: [ - spec repository: 'github://Evref-BL/Sonarqube-Pharo-API:develop' ]. + spec repository: 'github://Evref-BL/Sonarqube-Pharo-API:0.1.0' ] +] + +{ #category : 'dependencies' } +BaselineOfMooseRuleEngine >> defineDevDependencies: spec [ + + spec + baseline: 'Mocketry' + with: [ spec repository: 'github://dionisiydk/Mocketry:v7.0.3' ]. spec baseline: 'FASTJava' with: [ - spec - repository: 'github://moosetechnology/FAST-Java:v3/src'; - loads: #( 'smacc' ) ] + spec + repository: 'github://moosetechnology/FAST-Java:v4/src'; + loads: #( 'smacc' ) ] ] { #category : 'groups' } BaselineOfMooseRuleEngine >> defineGroups: spec [ - + spec + group: 'default' with: #( 'MooseRuleEngine' ); + group: 'tests' with: #( 'MooseRuleEngine-Tests' ); + group: 'dev' with: #( 'default' 'tests' ); + group: 'all' with: #( 'default' 'tests' ) ] { #category : 'packages' }