← Back to team overview

ubuntu-touch-coreapps-reviewers team mailing list archive

[Merge] lp:~nskaggs/ubuntu-filemanager-app/add-dep-cache into lp:ubuntu-filemanager-app

 

Nicholas Skaggs has proposed merging lp:~nskaggs/ubuntu-filemanager-app/add-dep-cache into lp:ubuntu-filemanager-app with lp:~nskaggs/ubuntu-filemanager-app/fix-ap-tests as a prerequisite.

Commit message:
Add dependency cache for click depends downloads

Requested reviews:
  Jenkins Bot (ubuntu-core-apps-jenkins-bot): continuous-integration
  Ubuntu File Manager Developers (ubuntu-filemanager-dev)

For more details, see:
https://code.launchpad.net/~nskaggs/ubuntu-filemanager-app/add-dep-cache/+merge/288714

Add dependency cache for click depends downloads
-- 
Your team Ubuntu File Manager Developers is requested to review the proposed merge of lp:~nskaggs/ubuntu-filemanager-app/add-dep-cache into lp:ubuntu-filemanager-app.
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt	2015-10-20 18:28:30 +0000
+++ CMakeLists.txt	2016-03-10 22:13:49 +0000
@@ -73,22 +73,40 @@
 
     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.json filemanager.apparmor ${CONTENT_HUB_EXPORTER} DESTINATION ${CMAKE_INSTALL_PREFIX})
 
-	MESSAGE("Grabbing upstream libs to ${CMAKE_CURRENT_BINARY_DIR}/upstream-libs")
-    execute_process(
-        COMMAND mkdir ${CMAKE_CURRENT_BINARY_DIR}/upstream-libs
-        COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/get-click-deps -d ${CMAKE_CURRENT_SOURCE_DIR}/filemanager-libs.json ${CLICK_ARCH} ${CMAKE_CURRENT_BINARY_DIR}/upstream-libs
-    )
-	MESSAGE("Installing upstream libs from ${CMAKE_CURRENT_BINARY_DIR}/upstream-libs/usr/lib/${ARCH_TRIPLET}/ to ${DATA_DIR}lib/${ARCH_TRIPLET}")
-	file(GLOB_RECURSE UPSTREAM_LIBS "${CMAKE_CURRENT_BINARY_DIR}/upstream-libs/usr/lib/${ARCH_TRIPLET}/*")
-	foreach(ITEM ${UPSTREAM_LIBS})
-	   IF( IS_DIRECTORY "${ITEM}" )
-	      LIST( APPEND DIRS_TO_DEPLOY "${ITEM}" )
-	   ELSE()
-	      LIST( APPEND FILES_TO_DEPLOY "${ITEM}" )
-	   ENDIF()
-	endforeach()
-	MESSAGE("Following files to install:- ${FILES_TO_DEPLOY}")
-	INSTALL( FILES ${FILES_TO_DEPLOY} DESTINATION ${DATA_DIR}lib/${ARCH_TRIPLET} )
+        set(UPSTREAM_LIBS_DIR ${CMAKE_BINARY_DIR}/upstream-libs)
+
+    #grab dependencies
+    set(GET_CLICK_DEPS_TOOL ${CMAKE_SOURCE_DIR}/get-click-deps)
+    set(DEPS_MANIFEST ${CMAKE_CURRENT_SOURCE_DIR}/filemanager-libs.json)
+    MESSAGE("Grabbing upstream libs to ${UPSTREAM_LIBS_DIR}")
+
+    get_filename_component(BLD_CONFIGURATION_NAME ${CMAKE_BINARY_DIR} NAME)
+    set(UPSTREAM_CACHE $ENV{HOME}/dev/upstream-libs-filemanager/${BLD_CONFIGURATION_NAME})
+    MESSAGE("Upstream libs cache path: ${UPSTREAM_CACHE}")
+
+    if(EXISTS "${UPSTREAM_CACHE}")
+      MESSAGE("Upstream libs cache exists.")
+      file(COPY ${UPSTREAM_CACHE}/upstream-libs/ DESTINATION ${UPSTREAM_LIBS_DIR} PATTERN * )
+    else()
+      MESSAGE("Cache miss, downloading from network.")
+      execute_process(
+        COMMAND mkdir ${UPSTREAM_LIBS_DIR}
+        COMMAND ${GET_CLICK_DEPS_TOOL} -d ${DEPS_MANIFEST} ${CLICK_ARCH} ${UPSTREAM_LIBS_DIR}
+      )
+      # Cache for next usage.
+      file(COPY ${UPSTREAM_LIBS_DIR} DESTINATION ${UPSTREAM_CACHE} )
+    endif()
+    MESSAGE("Installing upstream libs from ${CMAKE_CURRENT_BINARY_DIR}/upstream-libs/usr/lib/${ARCH_TRIPLET}/ to ${DATA_DIR}lib/${ARCH_TRIPLET}")
+    file(GLOB_RECURSE UPSTREAM_LIBS "${CMAKE_CURRENT_BINARY_DIR}/upstream-libs/usr/lib/${ARCH_TRIPLET}/*")
+    foreach(ITEM ${UPSTREAM_LIBS})
+       IF( IS_DIRECTORY "${ITEM}" )
+          LIST( APPEND DIRS_TO_DEPLOY "${ITEM}" )
+       ELSE()
+          LIST( APPEND FILES_TO_DEPLOY "${ITEM}" )
+       ENDIF()
+    endforeach()
+    MESSAGE("Following files to install:- ${FILES_TO_DEPLOY}")
+    INSTALL( FILES ${FILES_TO_DEPLOY} DESTINATION ${DATA_DIR}lib/${ARCH_TRIPLET} )
 else(CLICK_MODE)
     execute_process(
         COMMAND qmake -query QT_INSTALL_QML


Follow ups