]> source.dussan.org Git - archiva.git/commitdiff
add a system property to configure lab js cache for script loading: true in dev env
authorOlivier Lamy <olamy@apache.org>
Mon, 23 Jan 2012 22:32:45 +0000 (22:32 +0000)
committerOlivier Lamy <olamy@apache.org>
Mon, 23 Jan 2012 22:32:45 +0000 (22:32 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1235041 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/CommonServices.java
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultCommonServices.java
archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/runtime/ArchivaRuntimeInfo.java
archiva-modules/archiva-web/archiva-webapp-js/pom.xml
archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html
archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml

index 28077b03704d7ca52f08c1cb4d188ca2e1bd3f41..98d30651b2714dea3e9dc4c8e034408695732526 100644 (file)
@@ -59,4 +59,10 @@ public interface CommonServices
      */
     String getAllI18nResources( @QueryParam( "locale" ) String locale )
         throws ArchivaRestServiceException;
+
+    @Path( "devMode" )
+    @GET
+    @Produces( { MediaType.TEXT_PLAIN } )
+    @RedbackAuthorization( noRestriction = true )
+    Boolean devMode();
 }
index 33737feb57c231986e85ed15f01ad9c5e1e1501f..4404593b3de99eabff2c9de17adc98dd5ad01f80 100644 (file)
@@ -168,4 +168,9 @@ public class DefaultCommonServices
             IOUtils.closeQuietly( inputStream );
         }
     }
+
+    public Boolean devMode()
+    {
+        return Boolean.getBoolean( "archiva.devMode" );
+    }
 }
index 23f013ba021cdbcaf1165b7b26754c4ff0ea485d..8f2932c8e52536d1157cb9ec5cc19cd1dd21ddbd 100644 (file)
@@ -39,6 +39,8 @@ public class ArchivaRuntimeInfo
 
     private long timestamp;
 
+    private boolean devMode;
+
 
     @Inject
     public ArchivaRuntimeInfo( @Named( value = "archivaRuntimeProperties" ) Properties archivaRuntimeProperties )
@@ -46,6 +48,7 @@ public class ArchivaRuntimeInfo
         this.version = (String) archivaRuntimeProperties.get( "archiva.version" );
         this.buildNumber = (String) archivaRuntimeProperties.get( "archiva.buildNumber" );
         this.timestamp = NumberUtils.createLong( (String) archivaRuntimeProperties.get( "archiva.timestamp" ) );
+        this.devMode = Boolean.getBoolean( "archiva.devMode" );
     }
 
     public String getVersion()
@@ -78,6 +81,16 @@ public class ArchivaRuntimeInfo
         this.timestamp = timestamp;
     }
 
+    public boolean isDevMode()
+    {
+        return devMode;
+    }
+
+    public void setDevMode( boolean devMode )
+    {
+        this.devMode = devMode;
+    }
+
     @Override
     public String toString()
     {
@@ -86,6 +99,7 @@ public class ArchivaRuntimeInfo
         sb.append( "{version='" ).append( version ).append( '\'' );
         sb.append( ", buildNumber='" ).append( buildNumber ).append( '\'' );
         sb.append( ", timestamp=" ).append( timestamp );
+        sb.append( ", devMode=" ).append( devMode );
         sb.append( '}' );
         return sb.toString();
     }
index 31197f5e8ccd1cf477f4d4e63738b9aaccb9d098..3c48fbf88d174c5011806879f009b4fb50ec605f 100644 (file)
@@ -34,6 +34,7 @@
     <tomcatContextXml>${basedir}/src/test/tomcat/tomcat-context.xml</tomcatContextXml>
     <tomcatRunPort>9091</tomcatRunPort>
     <tomcatRunPath>/archiva</tomcatRunPath>
+    <archiva.devMode>true</archiva.devMode>
   </properties>
 
   <dependencies>
             <redback.admin.creation.file>${basedir}/target/auto-admin-creation.properties</redback.admin.creation.file>
             <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
             <archiva.user.configFileName>${project.build.directory}/appserver-base/conf/archiva.xml</archiva.user.configFileName>
+            <archiva.devMode>${archiva.devMode}</archiva.devMode>
           </systemProperties>
         </configuration>
         <dependencies>
             </redback.admin.creation.file>
             <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
             <archiva.user.configFileName>${project.build.directory}/appserver-base/conf/archiva.xml</archiva.user.configFileName>
+            <archiva.devMode>${archiva.devMode}</archiva.devMode>
           </systemProperties>
         </configuration>
         <dependencies>
             <redback.admin.creation.file>${basedir}/target/auto-admin-creation.properties</redback.admin.creation.file>
             <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
             <archiva.user.configFileName>${project.build.directory}/appserver-base/conf/archiva.xml</archiva.user.configFileName>
+            <archiva.devMode>${archiva.devMode}</archiva.devMode>
           </systemProperties>
         </configuration>
         <dependencies>
index 588fb81c0e08454e17b1e52a9745ce31ccc7bd4f..3f179e4250040c196ad0c8997caa4c636400634a 100644 (file)
 </div>
 
 <script type="text/javascript">
-    require.config({
-        baseUrl: "js/"
-      });
-    // CacheBust is for dev purpose use false in prod env !
-    var options = {
-        AlwaysPreserveOrder:true,
-        BasePath:"js/",
-        explicit_preloading:false,
-        CacheBust:true
-    };
-    $LAB.setGlobalDefaults(options);
-    $LAB
-       .script("jquery.tmpl.js").wait()
-       .script("archiva/utils.js").wait()
-       .script("jquery.i18n.properties-1.0.9.js").wait()
-       .script("archiva/i18nload.js").wait()
-       .script("jquery.cookie.1.0.0.js").wait()
-       .script("knockout-debug.js").wait()
-       .script("jquery-ui-1.8.16.custom.min.js").wait()
-       .script("jquery.validate.js").wait()
-       .script("jquery.json-2.3.min.js").wait()
-       .script("archiva/main-tmpl.js").wait()
-       .script("archiva/repositories.js").wait()
-       .script("redback/operation.js").wait()
-       .script("redback/redback-tmpl.js").wait()
-       .script("bootstrap-tabs.js")
-       .script("bootstrap-modal.js")
-       .script("bootstrap-alerts.js")
-       .script("bootstrap-dropdown.js")
-       .script("bootstrap-twipsy.js")
-       .script("bootstrap-popover.js")
-       .script("knockout.simpleGrid.js")
-       .script("knockout.mapping-latest.debug.js")
-       .script("redback/user.js").wait()
-       .script("redback/users.js").wait()
-       .script("redback/redback.js").wait()
-       .script("redback/register.js").wait()
-       .script("redback/permission.js").wait()
-       .script("redback/resource.js").wait()
-       .script("redback/roles.js").wait()
-       .script("archiva/main.js");
-
+$.ajax(
+  {
+    url: "restServices/archivaServices/commonServices/devMode",
+    success:function(data){
+        require.config({
+            baseUrl: "js/"
+          });
+        // CacheBust is for dev purpose use false in prod env !
+        var options = {
+            AlwaysPreserveOrder:true,
+            BasePath:"js/",
+            explicit_preloading:false,
+            CacheBust:data=='true'
+        };
+        $LAB.setGlobalDefaults(options);
+        $LAB
+           .script("jquery.tmpl.js").wait()
+           .script("archiva/utils.js").wait()
+           .script("jquery.i18n.properties-1.0.9.js").wait()
+           .script("archiva/i18nload.js").wait()
+           .script("jquery.cookie.1.0.0.js").wait()
+           .script("knockout-debug.js").wait()
+           .script("jquery-ui-1.8.16.custom.min.js").wait()
+           .script("jquery.validate.js").wait()
+           .script("jquery.json-2.3.min.js").wait()
+           .script("archiva/main-tmpl.js").wait()
+           .script("archiva/repositories.js").wait()
+           .script("redback/operation.js").wait()
+           .script("redback/redback-tmpl.js").wait()
+           .script("bootstrap-tabs.js")
+           .script("bootstrap-modal.js")
+           .script("bootstrap-alerts.js")
+           .script("bootstrap-dropdown.js")
+           .script("bootstrap-twipsy.js")
+           .script("bootstrap-popover.js")
+           .script("knockout.simpleGrid.js")
+           .script("knockout.mapping-latest.debug.js")
+           .script("redback/user.js").wait()
+           .script("redback/users.js").wait()
+           .script("redback/redback.js").wait()
+           .script("redback/register.js").wait()
+           .script("redback/permission.js").wait()
+           .script("redback/resource.js").wait()
+           .script("redback/roles.js").wait()
+           .script("archiva/main.js");
+    }
+  })
 </script>
 
 </html>
index 0ae4a7538505ce2590fe813e5322b67b44cdc81a..a606a527a7be4543134f5d9c89c8565c453b5486 100644 (file)
                     <appserver.base>${project.build.directory}/appserver-base</appserver.base>
                     <appserver.home>${project.build.directory}/appserver-base</appserver.home>
                     <derby.system.home>${project.build.directory}</derby.system.home>
+                    <archiva.devMode>true</archiva.devMode>
                   </systemProperties>
                   <contextFile>src/test/${container.name}/Catalina/localhost/archiva.xml</contextFile>
                   <useNaming>true</useNaming>