You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2020/10/06 13:36:27 UTC
[groovy] 02/22: GROOVY-8258: Add macro method LINQ entry
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch GROOVY-8258
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 3e39e7022e667173dafda9813ad0165dec29419d
Author: Daniel Sun <su...@apache.org>
AuthorDate: Mon Oct 5 00:32:21 2020 +0800
GROOVY-8258: Add macro method LINQ entry
---
subprojects/groovy-linq/build.gradle | 11 +++++++++--
.../groovy/org/apache/groovy/linq/LinqGroovyMethods.java} | 14 +++++++++++---
.../{java => groovy}/org/apache/groovy/linq/Queryable.java | 0
.../apache/groovy/linq/provider/QueryableCollection.java | 0
4 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/subprojects/groovy-linq/build.gradle b/subprojects/groovy-linq/build.gradle
index 8e249dd..5c6a05b 100644
--- a/subprojects/groovy-linq/build.gradle
+++ b/subprojects/groovy-linq/build.gradle
@@ -17,8 +17,15 @@
* under the License.
*/
-
dependencies {
- api rootProject
+ implementation rootProject
+ implementation project(':groovy-macro')
+ testImplementation rootProject.sourceSets.test.runtimeClasspath
testImplementation project(':groovy-test')
}
+
+task moduleDescriptor(type: org.codehaus.groovy.gradle.WriteExtensionDescriptorTask) {
+ extensionClasses = 'org.apache.groovy.linq.LinqGroovyMethods'
+}
+
+compileJava.dependsOn moduleDescriptor
diff --git a/subprojects/groovy-linq/build.gradle b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.java
similarity index 66%
copy from subprojects/groovy-linq/build.gradle
copy to subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.java
index 8e249dd..936e6be 100644
--- a/subprojects/groovy-linq/build.gradle
+++ b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/LinqGroovyMethods.java
@@ -16,9 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.groovy.linq;
+import org.codehaus.groovy.ast.expr.ClosureExpression;
+import org.codehaus.groovy.ast.expr.Expression;
+import org.codehaus.groovy.macro.runtime.Macro;
+import org.codehaus.groovy.macro.runtime.MacroContext;
-dependencies {
- api rootProject
- testImplementation project(':groovy-test')
+public class LinqGroovyMethods {
+ @Macro
+ public static Expression LINQ(MacroContext ctx, final ClosureExpression closureExpression) {
+ return null; // TODO
+ }
}
+
diff --git a/subprojects/groovy-linq/src/main/java/org/apache/groovy/linq/Queryable.java b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/Queryable.java
similarity index 100%
rename from subprojects/groovy-linq/src/main/java/org/apache/groovy/linq/Queryable.java
rename to subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/Queryable.java
diff --git a/subprojects/groovy-linq/src/main/java/org/apache/groovy/linq/provider/QueryableCollection.java b/subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/provider/QueryableCollection.java
similarity index 100%
rename from subprojects/groovy-linq/src/main/java/org/apache/groovy/linq/provider/QueryableCollection.java
rename to subprojects/groovy-linq/src/main/groovy/org/apache/groovy/linq/provider/QueryableCollection.java