def test_release_created(self, mock_conf): mock_conf.return_value = self.conf_file project_dir = join(self.test_dir, 'test_project') enot.__main__.create(self.test_dir, {'<name>': 'test_project'}) builder = Builder.init_from_path(project_dir) builder.populate() builder.build() path = ensure_tool(RelxTool()) builder.system_config.cache.local_cache.add_tool('relx', path) self.assertEqual(True, builder.release()) self.assertEqual(True, os.path.exists(join(project_dir, '_rel'))) rel_dir = join(project_dir, '_rel', 'test_project') self.assertEqual(True, os.path.exists(rel_dir)) self.assertEqual( True, os.path.exists(join(rel_dir, 'lib', 'test_project-0.0.1'))) self.assertEqual(True, os.path.exists(join(rel_dir, 'releases', '0.0.1'))) self.assertEqual(True, os.path.exists(join(project_dir, 'rel'))) self.assertEqual( True, os.path.exists(join(project_dir, 'rel', 'sys.config'))) self.assertEqual(True, os.path.exists(join(project_dir, 'rel', 'vm.args'))) rel_content = read_file(join(project_dir, 'rel', 'vm.args')) rel_expected = '''-name {{ app.name }}@127.0.0.1 -setcookie {{ app.name }}''' self.assertEqual(rel_content.strip(), rel_expected)
def __init__(self, path: str, url=None): super().__init__() self._path = path self._platform_defines = [] rebarconfig = decode(read_file(join(path, 'rebar.config'))) self._url = url self.__parse_config(rebarconfig)
def __write_app_file(self, all_files: list): if self.package.app_config.compose_app_file: app_src = read_file( join(self.src_path, self.project_name + '.app.src')) app_path = join(self.output_path, self.project_name + '.app') params = {x: os.environ[x] for x in os.environ} params['modules'] = all_files params['app'] = self.package params['hostname'] = socket.gethostname() params['erl'] = Static.get_erlang_version() with open(app_path, 'w') as f: f.write(Template(app_src).render(params))
def __modify_resource(self, resource, path=''): resource_path = self.__ensure_resource(resource, path) resource = read_file(resource_path) if '{{ ' in resource: params = {x: os.environ[x] for x in os.environ} params['app'] = self.package params['hostname'] = socket.gethostname() params['erl'] = Static.get_erlang_version() resource_filled = Template(resource).render(params) write_file(resource_path, resource_filled) return True, resource_path, resource return False, resource_path, resource
def from_path(cls, path: str, url=None) -> 'EnotConfig': content = read_file(join(path, 'enot_config.json')) name = path.split('/')[-1:] # use project dir name as a name if not set in config return cls(json.loads(content), url=url, name=name)
def __init__(self, path=user_config_dir(enot.APPNAME)): config_path = ensure_conf_file(path) content = read_file(config_path) conf = json.loads(content) self._conf_dir = path self.__init_from_dict(conf)
def parse_app_config(path: str, suffix='.app.src') -> (str, str or None, list or None, bool): file = find_app_file(path, suffix) content = read_file(join(path, file)) return parse_app_config_content(content)