Handle gradlew not being executable.
This commit is contained in:
parent
713a6dc2a7
commit
b961a0d275
1 changed files with 16 additions and 12 deletions
|
@ -20,6 +20,7 @@
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
import stat
|
||||||
from typing import Optional, Tuple
|
from typing import Optional, Tuple
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
|
@ -508,7 +509,7 @@ class Gradle(BuildSystem):
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_path(cls, path):
|
def from_path(cls, path):
|
||||||
if os.path.exists(os.path.join(path, "gradlew")):
|
if os.path.exists(os.path.join(path, "gradlew")):
|
||||||
return cls(path, "./gradlew")
|
return cls(path, './gradlew')
|
||||||
return cls(path)
|
return cls(path)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -521,28 +522,31 @@ class Gradle(BuildSystem):
|
||||||
if not self.executable.startswith('./'):
|
if not self.executable.startswith('./'):
|
||||||
resolver.install([BinaryRequirement(self.executable)])
|
resolver.install([BinaryRequirement(self.executable)])
|
||||||
|
|
||||||
def clean(self, session, resolver, fixers):
|
def _run(self, session, resolver, args, fixers):
|
||||||
self.setup(resolver)
|
self.setup(resolver)
|
||||||
run_with_build_fixers(session, [self.executable, "clean"], fixers)
|
if self.executable.startswith('./') and (
|
||||||
|
not os.access(os.path.join(self.path, self.executable), os.X_OK)):
|
||||||
|
argv = ['sh', self.executable]
|
||||||
|
else:
|
||||||
|
argv = [self.executable]
|
||||||
|
run_with_build_fixers(session, argv + args, fixers)
|
||||||
|
|
||||||
|
def clean(self, session, resolver, fixers):
|
||||||
|
self._run(session, resolver, ['clean'], fixers)
|
||||||
|
|
||||||
def build(self, session, resolver, fixers):
|
def build(self, session, resolver, fixers):
|
||||||
self.setup(resolver)
|
self._run(session, resolver, ['build'], fixers)
|
||||||
run_with_build_fixers(session, [self.executable, "build"], fixers)
|
|
||||||
|
|
||||||
def test(self, session, resolver, fixers):
|
def test(self, session, resolver, fixers):
|
||||||
self.setup(resolver)
|
self._run(session, resolver, ['test'], fixers)
|
||||||
run_with_build_fixers(session, [self.executable, "test"], fixers)
|
|
||||||
|
|
||||||
def dist(self, session, resolver, fixers, quiet=False):
|
def dist(self, session, resolver, fixers, quiet=False):
|
||||||
self.setup(resolver)
|
self._run(session, resolver, ['distTar'], fixers)
|
||||||
run_with_build_fixers(session, [self.executable, "distTar"], fixers)
|
|
||||||
|
|
||||||
def install(self, session, resolver, fixers, install_target):
|
def install(self, session, resolver, fixers, install_target):
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
self.setup(resolver)
|
|
||||||
# TODO(jelmer): installDist just creates files under build/install/...
|
# TODO(jelmer): installDist just creates files under build/install/...
|
||||||
run_with_build_fixers(
|
self._run(session, resolver, ['installDist'], fixers)
|
||||||
session, [self.executable, "installDist"], fixers)
|
|
||||||
|
|
||||||
|
|
||||||
class R(BuildSystem):
|
class R(BuildSystem):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue