diff --git a/ragconnect.base/src/main/jastadd/Navigation.jrag b/ragconnect.base/src/main/jastadd/Navigation.jrag index 08ef63ff423d9146cb33287487d652e52df5ce57..8b23c000fb8136af504d6dc452a42d5dd6ae82ca 100644 --- a/ragconnect.base/src/main/jastadd/Navigation.jrag +++ b/ragconnect.base/src/main/jastadd/Navigation.jrag @@ -136,6 +136,9 @@ aspect RagConnectNavigation { // return containedFile().getFileName(); } + // --- isFirstInList --- + inh boolean DependencyDefinition.isFirstInList(); + eq ConnectSpecification.getDependencyDefinition(int index).isFirstInList() = index == 0; //--- givenPortTargetList --- syn List<PortTarget> RagConnect.givenPortTargetList() { diff --git a/ragconnect.base/src/main/jastadd/Warnings.jrag b/ragconnect.base/src/main/jastadd/Warnings.jrag index 76ca00169039bde4cc04e896d36e94a7694008d9..49a36233c463f5c8b0b1eb391e490ff526a94472 100644 --- a/ragconnect.base/src/main/jastadd/Warnings.jrag +++ b/ragconnect.base/src/main/jastadd/Warnings.jrag @@ -7,6 +7,10 @@ aspect Warnings { when ragconnect().configIncrementalOptionActive() to RagConnect.warnings(); + DependencyDefinition contributes warning("Dependency definition are deprecated since 1.0.0!") + when this.isFirstInList() // print warning only once for first dependency definition + to RagConnect.warnings(); + PortDefinition contributes warning("No dependency definitions are given, and incremental evaluation is disabled. No messages will be sent for this!") when getSend() && ragconnect().allDependencyDefinitionList().isEmpty() && !ragconnect().configIncrementalOptionActive() to RagConnect.warnings(); diff --git a/ragconnect.base/src/main/resources/dependencyDefinition.mustache b/ragconnect.base/src/main/resources/dependencyDefinition.mustache index 891935029b5c5345df4dd7546705af347a422a5e..7c2ac5ab06d2e52f5f2ba5a086167c815ac5254a 100644 --- a/ragconnect.base/src/main/resources/dependencyDefinition.mustache +++ b/ragconnect.base/src/main/resources/dependencyDefinition.mustache @@ -1,3 +1,7 @@ +/** +* @deprecated Manual dependency definitions are not fully tested any longer since 1.0.0, see <a href="https://jastadd.pages.st.inf.tu-dresden.de/ragconnect-dev/dsl/#dependency-definitions">https://jastadd.pages.st.inf.tu-dresden.de/ragconnect-dev/dsl/#dependency-definitions</a> +*/ +@Deprecated(since = "1.0.0") public void {{targetParentTypeName}}.{{dependencyMethodName}}({{sourceParentTypeName}} source) { add{{internalRelationPrefix}}Source(source); } diff --git a/ragconnect.tests/build.gradle b/ragconnect.tests/build.gradle index 128ea453b166485ca4be929778336347baa7691b..c5e6f13b574d6e93ee635a265c6f0cfe9b718793 100644 --- a/ragconnect.tests/build.gradle +++ b/ragconnect.tests/build.gradle @@ -49,9 +49,9 @@ dependencies { implementation group: 'org.jastadd', name: 'jastadd2', version: '2.3.5-dresden-7' relast group: 'org.jastadd', name: 'relast', version: "${relast_version}" - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.4.0' - testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.4.0' - testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.12.1' + testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.9.0' + testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.9.0' + testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.23.1' testImplementation group: 'org.awaitility', name: 'awaitility', version: '4.1.1' testImplementation group: 'io.github.artsok', name: 'rerunner-jupiter', version: '2.1.6' diff --git a/ragconnect.tests/src/test/01-input/warnings/SomeDependenciesAndInc.expected b/ragconnect.tests/src/test/01-input/warnings/SomeDependenciesAndInc.expected index 15fab0001ee36aef1e9ba34db195f0e83db9066e..f1154cf41a38be8e3e54e7d1933837705e838ac4 100644 --- a/ragconnect.tests/src/test/01-input/warnings/SomeDependenciesAndInc.expected +++ b/ragconnect.tests/src/test/01-input/warnings/SomeDependenciesAndInc.expected @@ -1 +1,2 @@ +TestSomeDependencies.connect Line 3, column 1: Dependency definition are deprecated since 1.0.0! TestSomeDependencies.connect Line 3, column 1: Dependency definition should not be used if incremental evaluation is enabled! diff --git a/ragconnect.tests/src/test/01-input/warnings/SomeDependenciesAndNoIncAndCacheAll.expected b/ragconnect.tests/src/test/01-input/warnings/SomeDependenciesAndNoIncAndCacheAll.expected index 732463caf9bfabae3cefe5d2555cb8cc6b85870b..e4d442f74bfdcb87dbe720381cb8d05b51734527 100644 --- a/ragconnect.tests/src/test/01-input/warnings/SomeDependenciesAndNoIncAndCacheAll.expected +++ b/ragconnect.tests/src/test/01-input/warnings/SomeDependenciesAndNoIncAndCacheAll.expected @@ -1 +1,2 @@ TestSomeDependencies.connect Line 1, column 1: Incremental evaluation is disabled, but cache=all is set. This might lead to no messages sent! +TestSomeDependencies.connect Line 3, column 1: Dependency definition are deprecated since 1.0.0! diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Errors.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/ErrorsTest.java similarity index 97% rename from ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Errors.java rename to ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/ErrorsTest.java index c4be09cf0ad00750f6b349a6bede828c2a121e2d..4853b6a7e62f6e71878b37700a72fe2515655200 100644 --- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Errors.java +++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/ErrorsTest.java @@ -21,7 +21,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; * * @author rschoene - Initial contribution */ -public class Errors extends RagConnectTest { +public class ErrorsTest extends RagConnectTest { private static final String ERROR_DIRECTORY = "errors/"; private static final String OUTPUT_DIRECTORY = TestUtils.OUTPUT_DIRECTORY_PREFIX + ERROR_DIRECTORY; diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Warnings.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/WarningsTest.java similarity index 96% rename from ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Warnings.java rename to ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/WarningsTest.java index e860dfa400b249febcd4bdae6c87e518644c3bf5..50dc46d2bff45651d46b473c7bf6a8268717385b 100644 --- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Warnings.java +++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/WarningsTest.java @@ -20,7 +20,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; * * @author rschoene - Initial contribution */ -public class Warnings extends RagConnectTest { +public class WarningsTest extends RagConnectTest { private static final String WARNING_DIRECTORY = "warnings/"; private static final String OUTPUT_DIRECTORY = TestUtils.OUTPUT_DIRECTORY_PREFIX + WARNING_DIRECTORY; @@ -85,8 +85,8 @@ public class Warnings extends RagConnectTest { out = out.substring(out.indexOf(startOfWarningsPattern) + startOfWarningsPattern.length()); - TestUtils.assertLinesMatch(WARNING_DIRECTORY, expectedName, out); + logger.debug("ragconnect for " + expectedName + " returned:\n{}", out); - logger.info("ragconnect for " + expectedName + " returned:\n{}", out); + TestUtils.assertLinesMatch(WARNING_DIRECTORY, expectedName, out); } }