You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2014/08/02 00:04:33 UTC

git commit: Update Clojure to 1.6.0

Repository: tapestry-5
Updated Branches:
  refs/heads/master b83918998 -> 25389db3c


Update Clojure to 1.6.0


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/25389db3
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/25389db3
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/25389db3

Branch: refs/heads/master
Commit: 25389db3c39946f39bbe4e6ce8d09c7e24ded581
Parents: b839189
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Fri Aug 1 15:04:37 2014 -0700
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Fri Aug 1 15:04:37 2014 -0700

----------------------------------------------------------------------
 tapestry-clojure/build.gradle                     |  2 +-
 .../internal/clojure/ClojureBuilderImpl.java      | 18 ++++++++----------
 2 files changed, 9 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/25389db3/tapestry-clojure/build.gradle
----------------------------------------------------------------------
diff --git a/tapestry-clojure/build.gradle b/tapestry-clojure/build.gradle
index 2366a91..77111c6 100644
--- a/tapestry-clojure/build.gradle
+++ b/tapestry-clojure/build.gradle
@@ -2,7 +2,7 @@ description = "Allows Clojure functions to be injected into Tapestry services an
 
 dependencies {
   compile project(':tapestry-ioc')
-  compile "org.clojure:clojure:1.5.1"
+  compile "org.clojure:clojure:1.6.0"
 
   // Added just to prove that it works (TAP5-1945)
   testCompile project(':tapestry-core')

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/25389db3/tapestry-clojure/src/main/java/org/apache/tapestry5/internal/clojure/ClojureBuilderImpl.java
----------------------------------------------------------------------
diff --git a/tapestry-clojure/src/main/java/org/apache/tapestry5/internal/clojure/ClojureBuilderImpl.java b/tapestry-clojure/src/main/java/org/apache/tapestry5/internal/clojure/ClojureBuilderImpl.java
index 1d6184a..2e42946 100644
--- a/tapestry-clojure/src/main/java/org/apache/tapestry5/internal/clojure/ClojureBuilderImpl.java
+++ b/tapestry-clojure/src/main/java/org/apache/tapestry5/internal/clojure/ClojureBuilderImpl.java
@@ -1,5 +1,3 @@
-// Copyright 2012-2013 The Apache Software Foundation
-//
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
 // You may obtain a copy of the License at
@@ -14,10 +12,9 @@
 
 package org.apache.tapestry5.internal.clojure;
 
+import clojure.java.api.Clojure;
 import clojure.lang.IFn;
-import clojure.lang.RT;
 import clojure.lang.Symbol;
-import clojure.lang.Var;
 import org.apache.tapestry5.clojure.ClojureBuilder;
 import org.apache.tapestry5.clojure.MethodToFunctionSymbolMapper;
 import org.apache.tapestry5.clojure.Namespace;
@@ -37,7 +34,7 @@ public class ClojureBuilderImpl implements ClojureBuilder
 
     private final OperationTracker tracker;
 
-    private final Var REQUIRE = RT.var("clojure.core", "require");
+    private final IFn REQUIRE = Clojure.var("clojure.core", "require");
 
     public ClojureBuilderImpl(@Builtin PlasticProxyFactory proxyFactory, MethodToFunctionSymbolMapper mapper, OperationTracker tracker)
     {
@@ -93,20 +90,21 @@ public class ClojureBuilderImpl implements ClojureBuilder
                     @Override
                     public void run()
                     {
+
                         Symbol namespaceSymbol = Symbol.create(symbol.getNamespace());
 
                         REQUIRE.invoke(namespaceSymbol);
 
-                        Var var = Var.find(symbol);
+                        IFn clojureFunction = Clojure.var(symbol);
 
-                        final PlasticField varField = plasticClass.introduceField(Var.class, method.getName() + "Var").inject(var);
+                        final PlasticField fnField = plasticClass.introduceField(IFn.class, method.getName() + "IFn").inject(clojureFunction);
 
                         plasticClass.introduceMethod(desc).changeImplementation(new InstructionBuilderCallback()
                         {
                             @Override
                             public void doBuild(InstructionBuilder builder)
                             {
-                                bridgeToClojure(builder, desc, varField);
+                                bridgeToClojure(builder, desc, fnField);
                             }
                         });
 
@@ -115,9 +113,9 @@ public class ClojureBuilderImpl implements ClojureBuilder
 
             }
 
-            private void bridgeToClojure(InstructionBuilder builder, MethodDescription description, PlasticField varField)
+            private void bridgeToClojure(InstructionBuilder builder, MethodDescription description, PlasticField ifnField)
             {
-                builder.loadThis().getField(varField);
+                builder.loadThis().getField(ifnField);
 
                 int count = description.argumentTypes.length;