Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

./pants --v2 export-v2 [HACKY PROTOTYPE -- NOT FOR MERGING] #8760

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 22 additions & 6 deletions BUILD.tools
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,12 @@ jar_library(

# Running Kythe on JDK8 requires a standalone javac 9 on the bootclasspath.
# This jar is published to the same custom repo as the Kythe jars.
jar_library(
name='javac9',
jars = [
jar(org='java', name='javac', rev='9+181-r4173-1'),
],
)
# jar_library(
# name='javac9',
# jars = [
# jar(org='java', name='javac', rev='9+181'),
# ],
# )

# Runtime dependencies for the Avro Java generated code.
avro_rev = '1.8.2'
Expand All @@ -94,3 +94,19 @@ jar_library(
jar(org='org.apache.avro', name='avro-ipc', rev=avro_rev),
],
)

BOOTSTRAP_SCROOGE_VERSION='19.11.0'
jar_library(
name = 'v2-thrift-gen',
jars = [
# jar(org='java', name='javac', rev='9+181-r4173-1'),
scala_jar(org='com.twitter', name='scrooge-generator', rev=BOOTSTRAP_SCROOGE_VERSION),
],
)

jar_library(
name = 'scalac',
jars = [
jar(org='org.scala-lang', name='scala-compiler', rev='2.12.8'),
],
)
4 changes: 2 additions & 2 deletions build-support/bin/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ python_binary(

python_binary(
name = 'generate_travis_yml',
sources = 'generate_travis_yml.py',
source = 'generate_travis_yml.py',
dependencies = [
'3rdparty/python:PyYAML',
],
Expand All @@ -82,7 +82,7 @@ python_binary(

python_binary(
name = 'get_rbe_token',
sources = 'get_rbe_token.py',
source = 'get_rbe_token.py',
dependencies = [
'3rdparty/python:ansicolors',
'3rdparty/python:requests',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from pants.base.payload import Payload
from pants.base.payload_field import PrimitiveField
from pants.build_graph.target import Target
from pants.util.memo import memoized_classproperty


class PythonAWSLambda(Target):
Expand All @@ -14,6 +15,10 @@ class PythonAWSLambda(Target):
:API: public
"""

@memoized_classproperty
def _non_v2_target_kwargs(cls):
return super()._non_v2_target_kwargs | frozenset(['binary'])

def __init__(self,
binary=None,
handler=None,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,18 @@
from pants.base.payload import Payload
from pants.base.payload_field import PrimitiveField
from pants.fs import archive as archive_lib
from pants.util.memo import memoized_classproperty

from pants.contrib.node.targets.node_package import NodePackage


class NodeBundle(NodePackage):
"""A bundle of node modules."""

@memoized_classproperty
def _non_v2_target_kwargs(cls):
return super()._non_v2_target_kwargs | frozenset(['node_module'])

def __init__(self, node_module=None, archive='tgz', address=None, payload=None, **kwargs):
"""
:param dependencies: a list of node_modules
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from pants.base.exceptions import TargetDefinitionException
from pants.base.payload import Payload
from pants.base.payload_field import PrimitiveField
from pants.util.memo import memoized_classproperty

from pants.contrib.node.targets.node_package import NodePackage

Expand All @@ -16,6 +17,10 @@
class NodeModule(NodePackage):
"""A Node module."""

@memoized_classproperty
def _non_v2_target_kwargs(cls):
return super()._non_v2_target_kwargs | frozenset(['bin_executables'])

def __init__(
self, package_manager=None, sources=None, build_script=None, output_dir='dist',
dev_dependency=False, style_ignore_path='.eslintignore', address=None, payload=None,
Expand Down
15 changes: 14 additions & 1 deletion pants
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
# Copyright 2014 Pants project contributors (see CONTRIBUTORS.md).
# Licensed under the Apache License, Version 2.0 (see LICENSE).

# set -x

export LEVEL=debug

# This bootstrap script runs pants from the live sources in this repo.
#
# Further support is added for projects wrapping pants with custom external extensions. In the
Expand Down Expand Up @@ -128,4 +132,13 @@ if [[ "${test_goal_used}" == 'true' && "${no_regen_pex}" != 'true' ]]; then
"$HERE/build-support/bin/bootstrap_pants_pex.sh"
fi

exec_pants_bare "$@"
new_argv=()
for arg in "$@"; do
if [[ "$arg" == 'export' ]]; then
new_argv=("${new_argv[@]}" --enable-pantsd --v2 --no-v1 --tag='-impossible_to_import' export-v2 --output-dir=./wowzer --print-exception-stacktrace -ldebug)
elif [[ "$arg" != '--no-colors' && "$arg" != '--formatted' ]]; then
new_argv=("${new_argv[@]}" "$(echo "$arg" | sed -e 's#export-output-file#output-file#g')")
fi
done

exec_pants_bare "${new_argv[@]}"
4 changes: 3 additions & 1 deletion pants.ini
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ pytest_plugins: +[
"pytest-rerunfailures",
# TODO(#8651): We need this until we switch to implicit namespace packages so that pytest-cov
# understands our __init__ files. NB: this version matches 3rdparty/python/requirements.txt.
"setuptools==40.6.3",
"setuptools==41.0.0",
]


Expand Down Expand Up @@ -465,6 +465,8 @@ repos: [
# Custom repo for Kythe jars, as Google doesn't currently publish them anywhere.
'https://raw.githubusercontent.com/toolchainlabs/binhost/master/'
]
fingerprint: 24945c529eaa32a16a70256ac357108edc1b51a4dd45b656a1808c0cbf00617e
size_bytes: 27573328

[cache.resolve.coursier]
# Only use local artifact for coursier because the cache content contains abs path
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def check_value_for_arg(arg, value, values):
self._compiler = check_value_for_arg('compiler', compiler, self._COMPILERS)
self._language = language

self.namespace_map = namespace_map
self._namespace_map = namespace_map
self.thrift_linter_strict = thrift_linter_strict
self._default_java_namespace = default_java_namespace
self._include_paths = include_paths
Expand All @@ -68,6 +68,10 @@ def compiler(self):
def language(self):
return self._language

@property
def namespace_map(self):
return self._namespace_map

@property
def compiler_args(self):
return self._compiler_args
Expand Down
5 changes: 5 additions & 0 deletions src/python/pants/backend/codegen/thrift/java/register.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

from pants.backend.codegen.thrift.java.apache_thrift_java_gen import ApacheThriftJavaGen
from pants.backend.codegen.thrift.java.java_thrift_library import JavaThriftLibrary
from pants.backend.codegen.thrift.java.rules.thrift_gen import rules as thrift_rules
from pants.build_graph.build_file_aliases import BuildFileAliases
from pants.goal.task_registrar import TaskRegistrar as task

Expand All @@ -17,3 +18,7 @@ def build_file_aliases():

def register_goals():
task(name='thrift-java', action=ApacheThriftJavaGen).install('gen')


def rules():
return thrift_rules()
13 changes: 13 additions & 0 deletions src/python/pants/backend/codegen/thrift/java/rules/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
python_library(
dependencies=[
'3rdparty/python:dataclasses',
'src/python/pants/backend/codegen/thrift/java',
'src/python/pants/backend/jvm/rules',
'src/python/pants/backend/jvm/subsystems:jvm_tool_mixin',
'src/python/pants/engine:fs',
'src/python/pants/engine:rules',
'src/python/pants/engine/legacy:graph',
'src/python/pants/rules/core',
'src/python/pants/util:memo',
],
)
Empty file.
Loading