[ 
https://issues.apache.org/jira/browse/OFBIZ-7930?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15398908#comment-15398908
 ] 

Jacques Le Roux commented on OFBIZ-7930:
----------------------------------------

Taher,

Yes in my last version, inspired by Pierre somewhere, I added the 
pluginLibsRuntime, here is my last take
{code}
Index: build.gradle
===================================================================
--- build.gradle        (revision 1754437)
+++ build.gradle        (working copy)
@@ -580,6 +580,29 @@
         report(format:'frames', todir:'./runtime/logs/test-results/html')
     }
 }
+
+task copyExternalJars(group: sysadminGroup, description: 'Copy all external 
jars in the $buildDir/externalJars folder') {
+    String externalJarsDirString = "$buildDir/externalJars"
+    File extJarsDir = file(externalJarsDirString)
+    delete extJarsDir
+    copy {
+        from {
+            configurations.compile
+            configurations.runtime
+        }
+        into externalJarsDirString
+        exclude "**/org.eclipse*" // for now I don't exclude JDBC drivers are 
they were added temporarily
+    }
+    subprojects.each { p ->
+        copy {
+            from {
+                p.configurations.pluginLibsCompile
+                p.configurations.pluginLibsRuntime
+            }
+            into externalJarsDirString
+        }
+    }
+}
 /*
  * TODO replace this code with something more declarative.
  * We are using it so that if tests fail we still get HTML reports
@@ -636,6 +659,11 @@
     delete 'ofbiz.jar'
 }

+task cleanExternalJars(group: cleanupGroup, description: 'Delete the 
$buildDir/externalJars folder') {
+    delete "$buildDir/externalJars"
+}
+
+
 def cleanTasks = getTasksMatchingRegex(/^clean.+/)
 task cleanAll(group: cleanupGroup, dependsOn: [cleanTasks, clean]) {
     description 'Execute all cleaning tasks.'
{code}
But I'm blocked for 2 days by something extremely hard to understand. I had 
already "delete extJarsDir" in copyExternalJars, and  copyExternalJars worked 
quite well. So I created its cleanExternalJars counterpart and used it once, 
alone (ie not with cleanAll). Since then, when I run copyExternalJars, I'm 
blocked with an always "UP TO DATE" . I searched for a solution on the Net and 
got some ideas:

# Use  use --rerun-tasks or/and "outputs.upToDateWhen \{false\}"
from 
https://stackoverflow.com/questions/7289874/resetting-the-up-to-date-property-of-gradle-tasks
https://stackoverflow.com/questions/15137271/what-does-up-to-date-in-gradle-indicate
 explains "UP TO DATE"
and  I did not try yet the solution at 
https://stackoverflow.com/questions/29599011/up-to-date-gradle-task-status-when-it-has-no-output
# Use  --refresh-dependencies as suggested
at 
https://stackoverflow.com/questions/13565082/how-can-i-force-gradle-to-redownload-dependencies,
did no try "resolutionStrategy.cacheChangingModulesFor 0, 'seconds' " yet
# delete *ALL* the .gradle folders as suggested at 
https://discuss.gradle.org/t/copy-task-fails-erroneously-claiming-it-is-up-to-date-with-gradle-1-8/2166/5
which led me to pending https://issues.gradle.org/browse/GRADLE-2898

All to no avail, I was really surprised after deleting *ALL* the .gradle 
folders (ie  ~/.gradle folder and the  .gradle folder from the parent project 
directory) I may have missed something. I checked there is no .gradle folder  
in the Windows roaming stuff. I know that well because I got bitten more than 
once by the roaming stuff in other cases. If interested (I doubt ;)) see
https://superuser.com/questions/312136/how-does-the-roaming-folder-work
or https://askleo.com/whats-the-appdata-roaming-folder/
or (more technical)  https://en.wikipedia.org/wiki/Roaming_user_profile

I'll try again to delete *ALL* the .gradle folders because I don't see how this 
could not work, else it's really bad :/



> Copy external jars in OFBiz $buildDir/externalJars for (at least) dependency 
> check
> ----------------------------------------------------------------------------------
>
>                 Key: OFBIZ-7930
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-7930
>             Project: OFBiz
>          Issue Type: Sub-task
>          Components: framework
>    Affects Versions: Trunk
>            Reporter: Jacques Le Roux
>            Assignee: Jacques Le Roux
>             Fix For: Upcoming Branch
>
>
> As I warned at 
> https://cwiki.apache.org/confluence/display/OFBIZ/About+OWASP+Dependency+Check
>  it's currently difficult to separate the OFBiz jars from other jars in the 
> .gradle\caches contains which may contain jars unrelated to OFBiz. Notably 
> Eclipse jars if you use the Gradle Eclipse task and more if you use Gradle 
> for other reasons than OFBiz.
> I did not find yet a way to avoid to have all external jars in .gradle\caches 
> and I wonder if it's even possible. What I would like to have is the external 
> jars mandatory for OFBiz to work in an isolated place. For instance a sub 
> folder of the main Gradle build folder. I picked $buildDir/externalJars.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to