shutil.copy2(source_file, target_file)
-def CopyJavaSources(project_source, out_dir):
- """cp <path>/java/src/<package>
- out/Release/xwalk_core_library/src/<package>
- """
-
- print 'Copying Java sources...'
- target_source_dir = os.path.join(
- out_dir, LIBRARY_PROJECT_NAME, 'src')
- if not os.path.exists(target_source_dir):
- os.makedirs(target_source_dir)
-
- # FIXME(wang16): There is an assumption here the package names listed
- # here are all beginned with "org". If the assumption is broken in
- # future, the logic needs to be adjusted accordingly.
- java_srcs_to_copy = [
- # Chromium java sources.
- 'base/android/java/src/org/chromium/base',
- 'content/public/android/java/src/org/chromium/content',
- 'content/public/android/java/src/org/chromium/content_public',
- 'media/base/android/java/src/org/chromium/media',
- 'net/android/java/src/org/chromium/net',
- 'ui/android/java/src/org/chromium/ui',
- 'components/navigation_interception/android/java/'
- 'src/org/chromium/components/navigation_interception',
- 'components/web_contents_delegate_android/android/java/'
- 'src/org/chromium/components/web_contents_delegate_android',
-
- # R.javas
- 'content/public/android/java/resource_map/org/chromium/content/R.java',
- 'ui/android/java/resource_map/org/chromium/ui/R.java',
-
- # XWalk java sources.
- 'xwalk/runtime/android/core/src/org/xwalk/core',
- 'xwalk/extensions/android/java/src/org/xwalk/core/extensions',
- ]
-
- for source in java_srcs_to_copy:
- # find the src/org in the path
- slash_org_pos = source.find(r'/org/')
- if slash_org_pos < 0:
- raise Exception('Invalid java source path: %s' % source)
- source_path = os.path.join(project_source, source)
- package_path = source[slash_org_pos+1:]
- target_path = os.path.join(target_source_dir, package_path)
- if os.path.isfile(source_path):
- if not os.path.isdir(os.path.dirname(target_path)):
- os.makedirs(os.path.dirname(target_path))
- shutil.copyfile(source_path, target_path)
- else:
- shutil.copytree(source_path, target_path)
-
-
-def CopyGeneratedSources(out_dir):
- """cp out/Release/gen/templates/<path>
- out/Release/xwalk_core_library/src/<path>
- cp out/Release/xwalk_core_shell_apk/
- native_libraries_java/NativeLibraries.java
- out/Release/xwalk_core_library/src/org/
- chromium/base/library_loader/NativeLibraries.java
- """
-
- print 'Copying generated source files...'
- generated_srcs_to_copy = [
- 'org/chromium/base/ApplicationState.java',
- 'org/chromium/base/MemoryPressureLevelList.java',
- 'org/chromium/base/library_loader/NativeLibraries.java',
- 'org/chromium/content/browser/GestureEventType.java',
- 'org/chromium/content/browser/input/PopupItemType.java',
- 'org/chromium/content/browser/PageTransitionTypes.java',
- 'org/chromium/content/browser/SpeechRecognitionError.java',
- 'org/chromium/content/common/ResultCodes.java',
- 'org/chromium/content/common/ScreenOrientationValues.java',
- 'org/chromium/content/common/TopControlsState.java',
- 'org/chromium/media/ImageFormat.java',
- 'org/chromium/net/CertificateMimeType.java',
- 'org/chromium/net/CertVerifyStatusAndroid.java',
- 'org/chromium/net/NetError.java',
- 'org/chromium/net/PrivateKeyType.java',
- 'org/chromium/ui/gfx/BitmapFormat.java',
- 'org/chromium/ui/WindowOpenDisposition.java'
- ]
-
- for source in generated_srcs_to_copy:
- source_file = os.path.join(out_dir, 'gen', 'templates', source)
- target_file = os.path.join(
- out_dir, LIBRARY_PROJECT_NAME, 'src', source)
- shutil.copyfile(source_file, target_file)
-
- source_file = os.path.join(out_dir, XWALK_CORE_SHELL_APK,
- 'native_libraries_java',
- 'NativeLibraries.java')
- target_file = os.path.join(out_dir, LIBRARY_PROJECT_NAME, 'src', 'org',
- 'chromium', 'base', 'library_loader',
- 'NativeLibraries.java')
- shutil.copyfile(source_file, target_file)
-
def CopyJSBindingFiles(project_source, out_dir):
print 'Copying js binding files...'
jsapi_dir = os.path.join(out_dir,
os.mkdir(libs_dir)
libs_to_copy = [
- 'eyesfree_java.jar',
- 'guava_javalib.jar',
- 'jsr_305_javalib.jar',
+ 'xwalk_core_library_java.jar',
]
for lib in libs_to_copy:
# Copy Eclipse project files of library project.
CopyProjectFiles(options.source, out_dir)
- # Copy Java sources of chromium and xwalk.
- CopyJavaSources(options.source, out_dir)
- CopyGeneratedSources(out_dir)
# Copy binaries and resuorces.
CopyResources(options.source, out_dir)
CopyBinaries(out_dir)
mode = os.path.basename(os.path.normpath(out_dir))
RemoveUnusedFilesInReleaseMode(mode,
os.path.join(out_dir, LIBRARY_PROJECT_NAME, 'libs'))
+ # Create empty src directory
+ src_dir = os.path.join(out_project_dir, 'src')
+ if not os.path.isdir(src_dir):
+ os.mkdir(src_dir)
print 'Your Android library project has been created at %s' % (
out_project_dir)