mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 06:30:27 +03:00 
			
		
		
		
	Merge branch 'set_e' into 'master'
Run shell scripts with -e (Closes: #1035) Closes #1035 See merge request fdroid/fdroidserver!1185
This commit is contained in:
		
						commit
						52849deea0
					
				
					 10 changed files with 477 additions and 254 deletions
				
			
		| 
						 | 
				
			
			@ -390,7 +390,7 @@ def build_local(app, build, vcs, build_dir, output_dir, log_dir, srclib_dir, ext
 | 
			
		|||
            logging.info("Running 'sudo' commands in %s" % os.getcwd())
 | 
			
		||||
 | 
			
		||||
            p = FDroidPopen(['sudo', 'DEBIAN_FRONTEND=noninteractive',
 | 
			
		||||
                             'bash', '-x', '-c', build.sudo])
 | 
			
		||||
                             'bash', '-e', '-u', '-o', 'pipefail', '-x', '-c', '; '.join(build.sudo)])
 | 
			
		||||
            if p.returncode != 0:
 | 
			
		||||
                raise BuildException("Error running sudo command for %s:%s" %
 | 
			
		||||
                                     (app.id, build.versionName), p.output)
 | 
			
		||||
| 
						 | 
				
			
			@ -535,13 +535,13 @@ def build_local(app, build, vcs, build_dir, output_dir, log_dir, srclib_dir, ext
 | 
			
		|||
    # Run a build command if one is required...
 | 
			
		||||
    if build.build:
 | 
			
		||||
        logging.info("Running 'build' commands in %s" % root_dir)
 | 
			
		||||
        cmd = common.replace_config_vars(build.build, build)
 | 
			
		||||
        cmd = common.replace_config_vars("; ".join(build.build), build)
 | 
			
		||||
 | 
			
		||||
        # Substitute source library paths into commands...
 | 
			
		||||
        for name, number, libpath in srclibpaths:
 | 
			
		||||
            cmd = cmd.replace('$$' + name + '$$', os.path.join(os.getcwd(), libpath))
 | 
			
		||||
 | 
			
		||||
        p = FDroidPopen(['bash', '-x', '-c', cmd], cwd=root_dir)
 | 
			
		||||
        p = FDroidPopen(['bash', '-e', '-u', '-o', 'pipefail', '-x', '-c', cmd], cwd=root_dir)
 | 
			
		||||
 | 
			
		||||
        if p.returncode != 0:
 | 
			
		||||
            raise BuildException("Error running build command for %s:%s" %
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2055,9 +2055,9 @@ def getsrclib(spec, srclib_dir, basepath=False,
 | 
			
		|||
    if prepare:
 | 
			
		||||
 | 
			
		||||
        if srclib["Prepare"]:
 | 
			
		||||
            cmd = replace_config_vars(srclib["Prepare"], build)
 | 
			
		||||
            cmd = replace_config_vars("; ".join(srclib["Prepare"]), build)
 | 
			
		||||
 | 
			
		||||
            p = FDroidPopen(['bash', '-x', '-c', '--', cmd], cwd=libdir)
 | 
			
		||||
            p = FDroidPopen(['bash', '-e', '-u', '-o', 'pipefail', '-x', '-c', '--', cmd], cwd=libdir)
 | 
			
		||||
            if p.returncode != 0:
 | 
			
		||||
                raise BuildException("Error running prepare command for srclib %s"
 | 
			
		||||
                                     % name, p.output)
 | 
			
		||||
| 
						 | 
				
			
			@ -2119,10 +2119,10 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
 | 
			
		|||
 | 
			
		||||
    # Run an init command if one is required
 | 
			
		||||
    if build.init:
 | 
			
		||||
        cmd = replace_config_vars(build.init, build)
 | 
			
		||||
        cmd = replace_config_vars("; ".join(build.init), build)
 | 
			
		||||
        logging.info("Running 'init' commands in %s" % root_dir)
 | 
			
		||||
 | 
			
		||||
        p = FDroidPopen(['bash', '-x', '-c', '--', cmd], cwd=root_dir)
 | 
			
		||||
        p = FDroidPopen(['bash', '-e', '-u', '-o', 'pipefail', '-x', '-c', '--', cmd], cwd=root_dir)
 | 
			
		||||
        if p.returncode != 0:
 | 
			
		||||
            raise BuildException("Error running init command for %s:%s" %
 | 
			
		||||
                                 (app.id, build.versionName), p.output)
 | 
			
		||||
| 
						 | 
				
			
			@ -2286,13 +2286,13 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
 | 
			
		|||
    if build.prebuild:
 | 
			
		||||
        logging.info("Running 'prebuild' commands in %s" % root_dir)
 | 
			
		||||
 | 
			
		||||
        cmd = replace_config_vars(build.prebuild, build)
 | 
			
		||||
        cmd = replace_config_vars("; ".join(build.prebuild), build)
 | 
			
		||||
 | 
			
		||||
        # Substitute source library paths into prebuild commands
 | 
			
		||||
        for name, number, libpath in srclibpaths:
 | 
			
		||||
            cmd = cmd.replace('$$' + name + '$$', os.path.join(os.getcwd(), libpath))
 | 
			
		||||
 | 
			
		||||
        p = FDroidPopen(['bash', '-x', '-c', '--', cmd], cwd=root_dir)
 | 
			
		||||
        p = FDroidPopen(['bash', '-e', '-u', '-o', 'pipefail', '-x', '-c', '--', cmd], cwd=root_dir)
 | 
			
		||||
        if p.returncode != 0:
 | 
			
		||||
            raise BuildException("Error running prebuild command for %s:%s" %
 | 
			
		||||
                                 (app.id, build.versionName), p.output)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -516,8 +516,11 @@ def parse_yaml_srclib(metadatapath):
 | 
			
		|||
                    thisinfo[key] = data[key]
 | 
			
		||||
                elif data[key] is None:
 | 
			
		||||
                    thisinfo[key] = ['']
 | 
			
		||||
            elif key == 'Prepare' and isinstance(data[key], list):
 | 
			
		||||
                thisinfo[key] = ' && '.join(data[key])
 | 
			
		||||
            elif key == 'Prepare' or flagtype(key) == TYPE_SCRIPT:
 | 
			
		||||
                if isinstance(data[key], list):
 | 
			
		||||
                    thisinfo[key] = data[key]
 | 
			
		||||
                else:
 | 
			
		||||
                    thisinfo[key] = [data[key]] if data[key] else []
 | 
			
		||||
            else:
 | 
			
		||||
                thisinfo[key] = str(data[key] or '')
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -847,9 +850,8 @@ def post_parse_yaml_metadata(yamldata):
 | 
			
		|||
            _flagtype = flagtype(flag)
 | 
			
		||||
 | 
			
		||||
            if _flagtype is TYPE_SCRIPT:
 | 
			
		||||
                # concatenate script flags into a single string if they are stored as list
 | 
			
		||||
                if isinstance(build[flag], list):
 | 
			
		||||
                    build[flag] = ' && '.join(build[flag])
 | 
			
		||||
                if isinstance(build[flag], str):
 | 
			
		||||
                    build[flag] = [build[flag]]
 | 
			
		||||
            elif _flagtype is TYPE_STRING:
 | 
			
		||||
                # things like versionNames are strings, but without quotes can be numbers
 | 
			
		||||
                if isinstance(build[flag], float) or isinstance(build[flag], int):
 | 
			
		||||
| 
						 | 
				
			
			@ -916,12 +918,6 @@ def write_yaml(mf, app):
 | 
			
		|||
                    return value[0]
 | 
			
		||||
                else:
 | 
			
		||||
                    return value
 | 
			
		||||
            else:
 | 
			
		||||
                script_lines = value.split(' && ')
 | 
			
		||||
                if len(script_lines) > 1:
 | 
			
		||||
                    return script_lines
 | 
			
		||||
                else:
 | 
			
		||||
                    return value
 | 
			
		||||
        else:
 | 
			
		||||
            return value
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -375,7 +375,7 @@ class CommonTest(unittest.TestCase):
 | 
			
		|||
        build = fdroidserver.metadata.Build()
 | 
			
		||||
        build.commit = 'master'
 | 
			
		||||
        build.gradle = ['yes']
 | 
			
		||||
        build.prebuild = 'test -d $$FakeSrcLib$$/testdirshouldexist'  # actual test condition
 | 
			
		||||
        build.prebuild = ['test -d $$FakeSrcLib$$/testdirshouldexist']  # actual test condition
 | 
			
		||||
        build.srclibs = [srclibname + '@1.2.3']
 | 
			
		||||
        build.subdir = subdir
 | 
			
		||||
        build.versionCode = 0xCAFE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,7 +40,17 @@ import fdroidserver.metadata  # noqa
 | 
			
		|||
 | 
			
		||||
def _build_yaml_representer(dumper, data):
 | 
			
		||||
    """Create a YAML representation of a Build instance."""
 | 
			
		||||
    return dumper.represent_dict(data)
 | 
			
		||||
    # internal representation of keys were switched
 | 
			
		||||
    # to lists instead of strings concatenated by &&
 | 
			
		||||
    # https://gitlab.com/fdroid/fdroidserver/merge_requests/1185
 | 
			
		||||
    output = {}
 | 
			
		||||
    for k, v in data.items():
 | 
			
		||||
        if k in ("build", "init", "prebuild", "sudo"):
 | 
			
		||||
            output[k] = " && ".join(v)
 | 
			
		||||
        else:
 | 
			
		||||
            output[k] = v
 | 
			
		||||
 | 
			
		||||
    return dumper.represent_dict(output)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
parser = ArgumentParser()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -504,15 +504,24 @@ class MetadataTest(unittest.TestCase):
 | 
			
		|||
                    {
 | 
			
		||||
                        'versionCode': 1,
 | 
			
		||||
                        'versionName': 'v0.1.0',
 | 
			
		||||
                        'sudo': "apt-get update && "
 | 
			
		||||
                        "apt-get install -y whatever && "
 | 
			
		||||
                        "sed -i -e 's/<that attr=\"bad\"/<that attr=\"good\"/' ~/.whatever/config.xml",
 | 
			
		||||
                        'init': "bash generate_some_file.sh && "
 | 
			
		||||
                        "sed -i -e 'g/what/ever/' /some/file",
 | 
			
		||||
                        'prebuild': "npm something && echo 'important setting' >> /a/file",
 | 
			
		||||
                        'build': "./gradlew someSpecialTask && "
 | 
			
		||||
                        "sed -i 'd/that wrong config/' gradle.properties && "
 | 
			
		||||
                        "./gradlew compile",
 | 
			
		||||
                        'sudo': [
 | 
			
		||||
                            "apt-get update",
 | 
			
		||||
                            "apt-get install -y whatever",
 | 
			
		||||
                            "sed -i -e 's/<that attr=\"bad\"/<that attr=\"good\"/' ~/.whatever/config.xml",
 | 
			
		||||
                        ],
 | 
			
		||||
                        'init': [
 | 
			
		||||
                            "bash generate_some_file.sh",
 | 
			
		||||
                            "sed -i -e 'g/what/ever/' /some/file",
 | 
			
		||||
                        ],
 | 
			
		||||
                        'prebuild': [
 | 
			
		||||
                            "npm something",
 | 
			
		||||
                            "echo 'important setting' >> /a/file",
 | 
			
		||||
                        ],
 | 
			
		||||
                        'build': [
 | 
			
		||||
                            "./gradlew someSpecialTask",
 | 
			
		||||
                            "sed -i 'd/that wrong config/' gradle.properties",
 | 
			
		||||
                            "./gradlew compile",
 | 
			
		||||
                        ],
 | 
			
		||||
                    }
 | 
			
		||||
                ],
 | 
			
		||||
            },
 | 
			
		||||
| 
						 | 
				
			
			@ -551,15 +560,23 @@ class MetadataTest(unittest.TestCase):
 | 
			
		|||
                    {
 | 
			
		||||
                        'versionCode': 1,
 | 
			
		||||
                        'versionName': 'v0.1.0',
 | 
			
		||||
                        'sudo': "apt-get update && "
 | 
			
		||||
                        "apt-get install -y whatever && "
 | 
			
		||||
                        "sed -i -e 's/<that attr=\"bad\"/<that attr=\"good\"/' ~/.whatever/config.xml",
 | 
			
		||||
                        'init': "bash generate_some_file.sh && "
 | 
			
		||||
                        "sed -i -e 'g/what/ever/' /some/file",
 | 
			
		||||
                        'prebuild': "npm something && echo 'important setting' >> /a/file",
 | 
			
		||||
                        'build': "./gradlew someSpecialTask && "
 | 
			
		||||
                        "sed -i 'd/that wrong config/' gradle.properties && "
 | 
			
		||||
                        "./gradlew compile",
 | 
			
		||||
                        'sudo': [
 | 
			
		||||
                            "apt-get update && "
 | 
			
		||||
                            "apt-get install -y whatever && "
 | 
			
		||||
                            "sed -i -e 's/<that attr=\"bad\"/<that attr=\"good\"/' ~/.whatever/config.xml"
 | 
			
		||||
                        ],
 | 
			
		||||
                        'init': [
 | 
			
		||||
                            "bash generate_some_file.sh && "
 | 
			
		||||
                            "sed -i -e 'g/what/ever/' /some/file"
 | 
			
		||||
                        ],
 | 
			
		||||
                        'prebuild': [
 | 
			
		||||
                            "npm something && echo 'important setting' >> /a/file"
 | 
			
		||||
                        ],
 | 
			
		||||
                        'build': [
 | 
			
		||||
                            "./gradlew someSpecialTask && "
 | 
			
		||||
                            "sed -i 'd/that wrong config/' gradle.properties && "
 | 
			
		||||
                            "./gradlew compile"
 | 
			
		||||
                        ],
 | 
			
		||||
                    }
 | 
			
		||||
                ],
 | 
			
		||||
            },
 | 
			
		||||
| 
						 | 
				
			
			@ -593,7 +610,7 @@ class MetadataTest(unittest.TestCase):
 | 
			
		|||
                    {
 | 
			
		||||
                        'versionCode': 1,
 | 
			
		||||
                        'versionName': 'v0.1.0',
 | 
			
		||||
                        'prebuild': "a && b && " "sed -i 's,a,b,'",
 | 
			
		||||
                        'prebuild': ["a && b && " "sed -i 's,a,b,'"],
 | 
			
		||||
                    }
 | 
			
		||||
                ],
 | 
			
		||||
            },
 | 
			
		||||
| 
						 | 
				
			
			@ -630,10 +647,10 @@ class MetadataTest(unittest.TestCase):
 | 
			
		|||
        build = fdroidserver.metadata.Build()
 | 
			
		||||
        build.versionCode = 102030
 | 
			
		||||
        build.versionName = 'v1.2.3'
 | 
			
		||||
        build.sudo = "chmod +rwx /opt"
 | 
			
		||||
        build.init = "sed -i -e 'g/what/ever/' /some/file"
 | 
			
		||||
        build.prebuild = "sed -i 'd/that wrong config/' gradle.properties"
 | 
			
		||||
        build.build = "./gradlew compile"
 | 
			
		||||
        build.sudo = ["chmod +rwx /opt"]
 | 
			
		||||
        build.init = ["sed -i -e 'g/what/ever/' /some/file"]
 | 
			
		||||
        build.prebuild = ["sed -i 'd/that wrong config/' gradle.properties"]
 | 
			
		||||
        build.build = ["./gradlew compile"]
 | 
			
		||||
        app['Builds'].append(build)
 | 
			
		||||
        fdroidserver.metadata.write_yaml(mf, app)
 | 
			
		||||
        mf.seek(0)
 | 
			
		||||
| 
						 | 
				
			
			@ -762,10 +779,21 @@ class MetadataTest(unittest.TestCase):
 | 
			
		|||
        build = fdroidserver.metadata.Build()
 | 
			
		||||
        build.versionCode = 102030
 | 
			
		||||
        build.versionName = 'v1.2.3'
 | 
			
		||||
        build.sudo = "apt-get update && apt-get install -y whatever && sed -i -e 's/<that attr=\"bad\"/<that attr=\"good\"/' ~/.whatever/config.xml"
 | 
			
		||||
        build.init = "bash generate_some_file.sh && sed -i -e 'g/what/ever/' /some/file"
 | 
			
		||||
        build.prebuild = "npm something && echo 'important setting' >> /a/file"
 | 
			
		||||
        build.build = "./gradlew someSpecialTask && sed -i 'd/that wrong config/' gradle.properties && ./gradlew compile"
 | 
			
		||||
        build.sudo = [
 | 
			
		||||
            "apt-get update",
 | 
			
		||||
            "apt-get install -y whatever",
 | 
			
		||||
            "sed -i -e 's/<that attr=\"bad\"/<that attr=\"good\"/' ~/.whatever/config.xml",
 | 
			
		||||
        ]
 | 
			
		||||
        build.init = [
 | 
			
		||||
            "bash generate_some_file.sh",
 | 
			
		||||
            "sed -i -e 'g/what/ever/' /some/file",
 | 
			
		||||
        ]
 | 
			
		||||
        build.prebuild = ["npm something", "echo 'important setting' >> /a/file"]
 | 
			
		||||
        build.build = [
 | 
			
		||||
            "./gradlew someSpecialTask",
 | 
			
		||||
            "sed -i 'd/that wrong config/' gradle.properties",
 | 
			
		||||
            "./gradlew compile",
 | 
			
		||||
        ]
 | 
			
		||||
        app['Builds'].append(build)
 | 
			
		||||
        fdroidserver.metadata.write_yaml(mf, app)
 | 
			
		||||
        mf.seek(0)
 | 
			
		||||
| 
						 | 
				
			
			@ -914,7 +942,7 @@ class MetadataTest(unittest.TestCase):
 | 
			
		|||
                    'Repo': 'https://git.host/repo.git',
 | 
			
		||||
                    'RepoType': 'git',
 | 
			
		||||
                    'Subdir': [''],
 | 
			
		||||
                    'Prepare': '',
 | 
			
		||||
                    'Prepare': [],
 | 
			
		||||
                },
 | 
			
		||||
                srclib,
 | 
			
		||||
            )
 | 
			
		||||
| 
						 | 
				
			
			@ -943,9 +971,11 @@ class MetadataTest(unittest.TestCase):
 | 
			
		|||
                    'Repo': 'https://github.com/cketti/ckChangeLog',
 | 
			
		||||
                    'RepoType': 'git',
 | 
			
		||||
                    'Subdir': ['library', 'ckChangeLog/src/main'],
 | 
			
		||||
                    'Prepare': "[ -f project.properties ] || echo 'source.dir=java' > "
 | 
			
		||||
                    "ant.properties && echo -e "
 | 
			
		||||
                    "'android.library=true\\ntarget=android-19' > project.properties",
 | 
			
		||||
                    'Prepare': [
 | 
			
		||||
                        "[ -f project.properties ] || echo 'source.dir=java' > "
 | 
			
		||||
                        "ant.properties && echo -e "
 | 
			
		||||
                        "'android.library=true\\ntarget=android-19' > project.properties"
 | 
			
		||||
                    ],
 | 
			
		||||
                },
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -993,8 +1023,10 @@ class MetadataTest(unittest.TestCase):
 | 
			
		|||
                        'You take the red pill—you stay in Wonderland',
 | 
			
		||||
                        'and I show you how deep the rabbit-hole goes.',
 | 
			
		||||
                    ],
 | 
			
		||||
                    'Prepare': 'There is a difference between knowing the path '
 | 
			
		||||
                    'and walking the path.',
 | 
			
		||||
                    'Prepare': [
 | 
			
		||||
                        'There is a difference between knowing the path '
 | 
			
		||||
                        'and walking the path.'
 | 
			
		||||
                    ],
 | 
			
		||||
                }
 | 
			
		||||
            },
 | 
			
		||||
        )
 | 
			
		||||
| 
						 | 
				
			
			@ -1014,14 +1046,10 @@ class MetadataTest(unittest.TestCase):
 | 
			
		|||
 | 
			
		||||
                    Subdir:
 | 
			
		||||
                    Prepare:
 | 
			
		||||
                     - The Matrix is a system, Neo.
 | 
			
		||||
                     - That system is our enemy.
 | 
			
		||||
                     - But when you're inside, you look around, what do you see?
 | 
			
		||||
                     - Businessmen, teachers, lawyers, carpenters.
 | 
			
		||||
                     - The very minds of the people we are trying to save.
 | 
			
		||||
                     - But until we do, these people are still a part of that system and that makes them our enemy.
 | 
			
		||||
                     - You have to understand, most of these people are not ready to be unplugged.
 | 
			
		||||
                     - And many of them are so inert, so hopelessly dependent on the system that they will fight to protect it.
 | 
			
		||||
                     - Many
 | 
			
		||||
                     - invalid
 | 
			
		||||
                     - commands
 | 
			
		||||
                     - here.
 | 
			
		||||
                    '''
 | 
			
		||||
                    )
 | 
			
		||||
                )
 | 
			
		||||
| 
						 | 
				
			
			@ -1034,14 +1062,12 @@ class MetadataTest(unittest.TestCase):
 | 
			
		|||
                    'RepoType': 'git',
 | 
			
		||||
                    'Repo': 'https://git.host/repo.git',
 | 
			
		||||
                    'Subdir': [''],
 | 
			
		||||
                    'Prepare': 'The Matrix is a system, Neo. && '
 | 
			
		||||
                    'That system is our enemy. && '
 | 
			
		||||
                    'But when you\'re inside, you look around, what do you see? && '
 | 
			
		||||
                    'Businessmen, teachers, lawyers, carpenters. && '
 | 
			
		||||
                    'The very minds of the people we are trying to save. && '
 | 
			
		||||
                    'But until we do, these people are still a part of that system and that makes them our enemy. && '
 | 
			
		||||
                    'You have to understand, most of these people are not ready to be unplugged. && '
 | 
			
		||||
                    'And many of them are so inert, so hopelessly dependent on the system that they will fight to protect it.',
 | 
			
		||||
                    'Prepare': [
 | 
			
		||||
                        'Many',
 | 
			
		||||
                        'invalid',
 | 
			
		||||
                        'commands',
 | 
			
		||||
                        'here.',
 | 
			
		||||
                    ],
 | 
			
		||||
                }
 | 
			
		||||
            },
 | 
			
		||||
        )
 | 
			
		||||
| 
						 | 
				
			
			@ -1081,7 +1107,7 @@ class MetadataTest(unittest.TestCase):
 | 
			
		|||
                    'RepoType': 'git',
 | 
			
		||||
                    'Repo': 'https://git.host/repo.git',
 | 
			
		||||
                    'Subdir': [''],
 | 
			
		||||
                    'Prepare': '',
 | 
			
		||||
                    'Prepare': [],
 | 
			
		||||
                },
 | 
			
		||||
                'simple': {
 | 
			
		||||
                    'RepoType': 'git',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -144,7 +144,8 @@ Builds:
 | 
			
		|||
  srclibs: []
 | 
			
		||||
  subdir: null
 | 
			
		||||
  submodules: false
 | 
			
		||||
  sudo: echo 'this is just a test'
 | 
			
		||||
  sudo:
 | 
			
		||||
  - echo 'this is just a test'
 | 
			
		||||
  target: null
 | 
			
		||||
  timeout: null
 | 
			
		||||
  versionCode: 6
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -281,7 +281,8 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: android update project -p ../com_actionbarsherlock
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - android update project -p ../com_actionbarsherlock
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			@ -316,7 +317,8 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: android update project -p ../com_actionbarsherlock
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - android update project -p ../com_actionbarsherlock
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			@ -351,7 +353,8 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: android update project -p ../com_actionbarsherlock
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - android update project -p ../com_actionbarsherlock
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			@ -386,7 +389,8 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: android update project -p ../com_actionbarsherlock
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - android update project -p ../com_actionbarsherlock
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			@ -421,7 +425,9 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - android update project -p ../com_actionbarsherlock
 | 
			
		||||
  - rm -rf libs/armeabi/*
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			@ -455,8 +461,10 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*
 | 
			
		||||
    && rm libs/android-support-v4.jar
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - android update project -p ../com_actionbarsherlock
 | 
			
		||||
  - rm -rf libs/armeabi/*
 | 
			
		||||
  - rm libs/android-support-v4.jar
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			@ -490,7 +498,9 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - android update project -p ../com_actionbarsherlock
 | 
			
		||||
  - rm -rf libs/armeabi/*
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			@ -524,8 +534,10 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*
 | 
			
		||||
    && android update project -p ../org_donations
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - android update project -p ../com_actionbarsherlock
 | 
			
		||||
  - rm -rf libs/armeabi/*
 | 
			
		||||
  - android update project -p ../org_donations
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			@ -559,8 +571,10 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*
 | 
			
		||||
    && android update project -p ../org_donations
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - android update project -p ../com_actionbarsherlock
 | 
			
		||||
  - rm -rf libs/armeabi/*
 | 
			
		||||
  - android update project -p ../org_donations
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			@ -594,8 +608,10 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*
 | 
			
		||||
    && android update project -p ../org_donations
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - android update project -p ../com_actionbarsherlock
 | 
			
		||||
  - rm -rf libs/armeabi/*
 | 
			
		||||
  - android update project -p ../org_donations
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			@ -629,8 +645,10 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: android update project -p ../com_actionbarsherlock && rm -rf libs/armeabi/*
 | 
			
		||||
    && android update project -p ../org_donations
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - android update project -p ../com_actionbarsherlock
 | 
			
		||||
  - rm -rf libs/armeabi/*
 | 
			
		||||
  - android update project -p ../org_donations
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			@ -662,8 +680,9 @@ Builds:
 | 
			
		|||
  forceversion: false
 | 
			
		||||
  gradle: []
 | 
			
		||||
  gradleprops: []
 | 
			
		||||
  init: rm android-libs/Donations/custom_rules.xml && git clone https://github.com/dschuermann/HtmlSpanner
 | 
			
		||||
    android-libs/HtmlSpanner
 | 
			
		||||
  init:
 | 
			
		||||
  - rm android-libs/Donations/custom_rules.xml
 | 
			
		||||
  - git clone https://github.com/dschuermann/HtmlSpanner android-libs/HtmlSpanner
 | 
			
		||||
  maven: false
 | 
			
		||||
  ndk: null
 | 
			
		||||
  novcheck: false
 | 
			
		||||
| 
						 | 
				
			
			@ -671,12 +690,13 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: rm -rf ../update_zip libs/root-commands-1.2.jar libs/htmlspanner-0.2-fork.jar
 | 
			
		||||
    && cp -f libs/htmlcleaner-2.2.jar android-libs/HtmlSpanner/htmlspanner/libs/ &&
 | 
			
		||||
    echo "android.library.reference.3=$$RootCommands$$" >> project.properties && echo
 | 
			
		||||
    "android.library.reference.4=android-libs/HtmlSpanner/htmlspanner" >> project.properties
 | 
			
		||||
    && find . -type f -print0 | xargs -0 sed -i 's/org.rootcommands/org.sufficientlysecure.rootcommands/g'
 | 
			
		||||
    && cp android-libs/Donations/ant-templates/other/DonationsConfig.java android-libs/Donations/src/org/donations/
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - rm -rf ../update_zip libs/root-commands-1.2.jar libs/htmlspanner-0.2-fork.jar
 | 
			
		||||
  - cp -f libs/htmlcleaner-2.2.jar android-libs/HtmlSpanner/htmlspanner/libs/
 | 
			
		||||
  - echo "android.library.reference.3=$$RootCommands$$" >> project.properties
 | 
			
		||||
  - echo "android.library.reference.4=android-libs/HtmlSpanner/htmlspanner" >> project.properties
 | 
			
		||||
  - find . -type f -print0 | xargs -0 sed -i 's/org.rootcommands/org.sufficientlysecure.rootcommands/g'
 | 
			
		||||
  - cp android-libs/Donations/ant-templates/other/DonationsConfig.java android-libs/Donations/src/org/donations/
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			@ -709,8 +729,9 @@ Builds:
 | 
			
		|||
  forceversion: false
 | 
			
		||||
  gradle: []
 | 
			
		||||
  gradleprops: []
 | 
			
		||||
  init: rm android-libs/Donations/custom_rules.xml && git clone https://github.com/dschuermann/HtmlSpanner
 | 
			
		||||
    android-libs/HtmlSpanner
 | 
			
		||||
  init:
 | 
			
		||||
  - rm android-libs/Donations/custom_rules.xml
 | 
			
		||||
  - git clone https://github.com/dschuermann/HtmlSpanner android-libs/HtmlSpanner
 | 
			
		||||
  maven: false
 | 
			
		||||
  ndk: null
 | 
			
		||||
  novcheck: false
 | 
			
		||||
| 
						 | 
				
			
			@ -718,12 +739,13 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: rm -rf ../update_zip libs/root-commands-1.2.jar libs/htmlspanner-0.2-fork.jar
 | 
			
		||||
    && cp -f libs/htmlcleaner-2.2.jar android-libs/HtmlSpanner/htmlspanner/libs/ &&
 | 
			
		||||
    echo "android.library.reference.3=$$RootCommands$$" >> project.properties && echo
 | 
			
		||||
    "android.library.reference.4=android-libs/HtmlSpanner/htmlspanner" >> project.properties
 | 
			
		||||
    && find . -type f -print0 | xargs -0 sed -i 's/org.rootcommands/org.sufficientlysecure.rootcommands/g'
 | 
			
		||||
    && cp android-libs/Donations/ant-templates/other/DonationsConfig.java android-libs/Donations/src/org/donations/
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - rm -rf ../update_zip libs/root-commands-1.2.jar libs/htmlspanner-0.2-fork.jar
 | 
			
		||||
  - cp -f libs/htmlcleaner-2.2.jar android-libs/HtmlSpanner/htmlspanner/libs/
 | 
			
		||||
  - echo "android.library.reference.3=$$RootCommands$$" >> project.properties
 | 
			
		||||
  - echo "android.library.reference.4=android-libs/HtmlSpanner/htmlspanner" >> project.properties
 | 
			
		||||
  - find . -type f -print0 | xargs -0 sed -i 's/org.rootcommands/org.sufficientlysecure.rootcommands/g'
 | 
			
		||||
  - cp android-libs/Donations/ant-templates/other/DonationsConfig.java android-libs/Donations/src/org/donations/
 | 
			
		||||
  rm: []
 | 
			
		||||
  scandelete: []
 | 
			
		||||
  scanignore: []
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,13 +32,27 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: touch signing.properties && pushd $$GradleWitness$$ && gradle jar && popd
 | 
			
		||||
    && cp $$GradleWitness$$/build/libs/GradleWitness.jar libs/gradle-witness.jar &&
 | 
			
		||||
    sed -i -e '20,22d' build.gradle && pushd $$PreferenceFragment$$ && gradle uploadArchives
 | 
			
		||||
    && popd && sed -i -e '/5470f5872514a6226fa1fc6f4e000991f38805691c534cf0bd2778911fc773ad/d'
 | 
			
		||||
    build.gradle && mkdir smil && pushd smil && wget -c http://www.w3.org/TR/smil-boston-dom/java-binding.zip
 | 
			
		||||
    && unzip java-binding.zip && popd && cp -fR smil/java/org src/ && rm -fR smil
 | 
			
		||||
    && sed -i -e '/org.w3c.smil/d' build.gradle && cp -fR $$AospMms$$/src/org src/
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - touch signing.properties
 | 
			
		||||
  - pushd $$GradleWitness$$
 | 
			
		||||
  - gradle jar
 | 
			
		||||
  - popd
 | 
			
		||||
  - cp $$GradleWitness$$/build/libs/GradleWitness.jar libs/gradle-witness.jar
 | 
			
		||||
  - sed -i -e '20,22d' build.gradle
 | 
			
		||||
  - pushd $$PreferenceFragment$$
 | 
			
		||||
  - gradle uploadArchives
 | 
			
		||||
  - popd
 | 
			
		||||
  - sed -i -e '/5470f5872514a6226fa1fc6f4e000991f38805691c534cf0bd2778911fc773ad/d'
 | 
			
		||||
    build.gradle
 | 
			
		||||
  - mkdir smil
 | 
			
		||||
  - pushd smil
 | 
			
		||||
  - wget -c http://www.w3.org/TR/smil-boston-dom/java-binding.zip
 | 
			
		||||
  - unzip java-binding.zip
 | 
			
		||||
  - popd
 | 
			
		||||
  - cp -fR smil/java/org src/
 | 
			
		||||
  - rm -fR smil
 | 
			
		||||
  - sed -i -e '/org.w3c.smil/d' build.gradle
 | 
			
		||||
  - cp -fR $$AospMms$$/src/org src/
 | 
			
		||||
  rm:
 | 
			
		||||
  - libs/*
 | 
			
		||||
  scandelete: []
 | 
			
		||||
| 
						 | 
				
			
			@ -78,8 +92,12 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: touch signing.properties && pushd $$GradleWitness$$ && gradle jar && popd
 | 
			
		||||
    && cp $$GradleWitness$$/build/libs/GradleWitness.jar libs/gradle-witness.jar
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - touch signing.properties
 | 
			
		||||
  - pushd $$GradleWitness$$
 | 
			
		||||
  - gradle jar
 | 
			
		||||
  - popd
 | 
			
		||||
  - cp $$GradleWitness$$/build/libs/GradleWitness.jar libs/gradle-witness.jar
 | 
			
		||||
  rm:
 | 
			
		||||
  - libs/*.jar
 | 
			
		||||
  scandelete: []
 | 
			
		||||
| 
						 | 
				
			
			@ -116,8 +134,11 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: touch signing.properties && ./build-witness.sh && rm -rf libs/gradle-witness/build
 | 
			
		||||
    && echo "org.gradle.jvmargs=-Xms512m -Xmx512m -XX:MaxPermSize=512m" >> gradle.properties
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - touch signing.properties
 | 
			
		||||
  - ./build-witness.sh
 | 
			
		||||
  - rm -rf libs/gradle-witness/build
 | 
			
		||||
  - echo "org.gradle.jvmargs=-Xms512m -Xmx512m -XX:MaxPermSize=512m" >> gradle.properties
 | 
			
		||||
  rm:
 | 
			
		||||
  - libs/*.jar
 | 
			
		||||
  scandelete: []
 | 
			
		||||
| 
						 | 
				
			
			@ -153,8 +174,11 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: touch signing.properties && ./build-witness.sh && rm -rf libs/gradle-witness/build
 | 
			
		||||
    && echo "org.gradle.jvmargs=-Xms512m -Xmx512m -XX:MaxPermSize=512m" >> gradle.properties
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - touch signing.properties
 | 
			
		||||
  - ./build-witness.sh
 | 
			
		||||
  - rm -rf libs/gradle-witness/build
 | 
			
		||||
  - echo "org.gradle.jvmargs=-Xms512m -Xmx512m -XX:MaxPermSize=512m" >> gradle.properties
 | 
			
		||||
  rm:
 | 
			
		||||
  - libs/*.jar
 | 
			
		||||
  scandelete: []
 | 
			
		||||
| 
						 | 
				
			
			@ -190,7 +214,10 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - touch signing.properties
 | 
			
		||||
  - ./scripts/build-witness.sh
 | 
			
		||||
  - rm -rf libs/gradle-witness/build
 | 
			
		||||
  rm:
 | 
			
		||||
  - libs/*.jar
 | 
			
		||||
  scandelete: []
 | 
			
		||||
| 
						 | 
				
			
			@ -226,7 +253,10 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - touch signing.properties
 | 
			
		||||
  - ./scripts/build-witness.sh
 | 
			
		||||
  - rm -rf libs/gradle-witness/build
 | 
			
		||||
  rm:
 | 
			
		||||
  - libs/*.jar
 | 
			
		||||
  scandelete: []
 | 
			
		||||
| 
						 | 
				
			
			@ -262,7 +292,10 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - touch signing.properties
 | 
			
		||||
  - ./scripts/build-witness.sh
 | 
			
		||||
  - rm -rf libs/gradle-witness/build
 | 
			
		||||
  rm:
 | 
			
		||||
  - libs/*.jar
 | 
			
		||||
  scandelete: []
 | 
			
		||||
| 
						 | 
				
			
			@ -298,7 +331,10 @@ Builds:
 | 
			
		|||
  output: null
 | 
			
		||||
  patch: []
 | 
			
		||||
  preassemble: []
 | 
			
		||||
  prebuild: touch signing.properties && ./scripts/build-witness.sh && rm -rf libs/gradle-witness/build
 | 
			
		||||
  prebuild:
 | 
			
		||||
  - touch signing.properties
 | 
			
		||||
  - ./scripts/build-witness.sh
 | 
			
		||||
  - rm -rf libs/gradle-witness/build
 | 
			
		||||
  rm:
 | 
			
		||||
  - libs/*.jar
 | 
			
		||||
  scandelete: []
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue