def __git_clone_revision(self): # The commit is not yet known; clone into a temporary location to determine the commit and decide whether the # code for that revision is already present. If it is, use the existing code, as it may have already been built. tmp_dir_root = os.path.abspath((os.path.join(self.__output_root, 'build', 'tmp'))) try: tmp_dir = os.path.abspath(os.path.join(tmp_dir_root, self._name)) if not os.path.isdir(tmp_dir_root): os.makedirs(tmp_dir_root) tmp_log = os.path.abspath(os.path.join(tmp_dir_root, 'tmp_log.txt')) log_call(tmp_log, (TOOL_DEPENDENCIES['git'], 'clone', '--recurse-submodules', self.__location, tmp_dir)) os.chdir(tmp_dir) if self.__revision is not None: log_call(tmp_log, (TOOL_DEPENDENCIES['git'], 'checkout', self.__revision)) log_call(tmp_log, (TOOL_DEPENDENCIES['git'], 'submodule', 'update', '--init')) commit = check_output((TOOL_DEPENDENCIES['git'], 'rev-parse', '--short', 'HEAD')).strip() self.__identifier = self._name + '_' + commit.decode() self._build_dir = os.path.abspath(os.path.join(self.__output_root, 'build', self.__identifier)) logs_dir = os.path.abspath(os.path.join(self.__output_root, 'build', 'logs')) if not os.path.isdir(logs_dir): os.makedirs(logs_dir) self.__build_log = os.path.abspath(os.path.join(logs_dir, self.__identifier + '.txt')) if not os.path.exists(self._build_dir): shutil.move(tmp_log, self.__build_log) # This build is being used, overwrite an existing log (if any). shutil.move(tmp_dir, self._build_dir) else: print("%s already present. Using existing source." % self._build_dir) finally: shutil.rmtree(tmp_dir_root)
def install_ion_c(log): log_call(log, (TOOL_DEPENDENCIES['cmake'], '-DCMAKE_BUILD_TYPE=Debug')) log_call(log, (TOOL_DEPENDENCIES['cmake'], '--build', '.'))
def install_ion_java(log): log_call( log, (TOOL_DEPENDENCIES['maven'], '-f', 'ion-java-cli/pom.xml', 'package'))
def install_ion_js(log): log_call(log, (TOOL_DEPENDENCIES['npm'], 'install', '--ignore-scripts')) log_call(log, (TOOL_DEPENDENCIES['npm'], 'run-script', 'test-driver')) log_call(log, (TOOL_DEPENDENCIES['npm'], 'run-script', 'build-test-driver'))