diff --git a/packages/jsii-java-runtime-test/project/.gitignore b/packages/jsii-java-runtime-test/project/.gitignore
index 58d35b13a4..46aa9ff1a5 100644
--- a/packages/jsii-java-runtime-test/project/.gitignore
+++ b/packages/jsii-java-runtime-test/project/.gitignore
@@ -1,3 +1,5 @@
+bin/
+
!index.js
.idea
pom.xml
diff --git a/packages/jsii-java-runtime/project/.gitignore b/packages/jsii-java-runtime/project/.gitignore
index d0b519a66f..a6e9c72336 100644
--- a/packages/jsii-java-runtime/project/.gitignore
+++ b/packages/jsii-java-runtime/project/.gitignore
@@ -1,3 +1,5 @@
+bin/
+
!index.js
.idea
pom.xml
diff --git a/packages/jsii-pacmak/test/.gitignore b/packages/jsii-pacmak/test/.gitignore
index 013c75f014..140158118b 100644
--- a/packages/jsii-pacmak/test/.gitignore
+++ b/packages/jsii-pacmak/test/.gitignore
@@ -1,2 +1,3 @@
+java/bin
!*.tgz
diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/bin/pom.xml b/packages/jsii-pacmak/test/expected.jsii-calc-base/java/bin/pom.xml
deleted file mode 100644
index 971a2a28fb..0000000000
--- a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/bin/pom.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
- 4.0.0
- ${project.groupId}:${project.artifactId}
- An example direct dependency for jsii-calc.
- https://github.com/awslabs/jsii.git
-
-
- Apache License 2.0
- http://www.apache.org/licenses/LICENSE-2.0
- repo
- An OSI-approved license
-
-
-
-
- Amazon Web Services
-
- author
-
- https://aws.amazon.com
-
-
-
- scm:git:https://github.com/awslabs/jsii.git
- https://github.com/awslabs/jsii.git
-
- calculator-base
- software.amazon.jsii.tests
- 0.7.8
- jar
-
- UTF-8
-
-
-
- calculator-base-of-base
- software.amazon.jsii.tests
- 0.7.8
-
-
- software.amazon.jsii
- jsii-runtime
- 0.7.8
-
-
- javax.annotation
- javax.annotation-api
- [1.3.2,)
- provided
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.6.1
-
- 1.8
- 1.8
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 3.1.0
-
-
- true
-
- true
- true
-
-
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
- 3.0.1
-
-
- attach-sources
-
- jar
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 3.0.1
-
-
- attach-javadocs
-
- jar
-
-
-
-
- false
- protected
-
-
-
-
-
diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/bin/src/main/resources/software/amazon/jsii/tests/calculator/base/jsii-calc-base@0.7.8.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-base/java/bin/src/main/resources/software/amazon/jsii/tests/calculator/base/jsii-calc-base@0.7.8.jsii.tgz
deleted file mode 100644
index eef7587bf2..0000000000
--- a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/bin/src/main/resources/software/amazon/jsii/tests/calculator/base/jsii-calc-base@0.7.8.jsii.tgz
+++ /dev/null
@@ -1,2 +0,0 @@
-Placeholder for the expected module tarball
-The diff-test.sh harness will replace it with the real expected tarball
diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/bin/pom.xml b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/bin/pom.xml
deleted file mode 100644
index 456375ca28..0000000000
--- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/bin/pom.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
- 4.0.0
- ${project.groupId}:${project.artifactId}
- A simple calcuator library built on JSII.
- https://github.com/awslabs/jsii.git
-
-
- Apache License 2.0
- http://www.apache.org/licenses/LICENSE-2.0
- repo
- An OSI-approved license
-
-
-
-
- Amazon Web Services
-
- author
-
- https://aws.amazon.com
-
-
-
- scm:git:https://github.com/awslabs/jsii.git
- https://github.com/awslabs/jsii.git
-
- calculator-lib
- software.amazon.jsii.tests
- 0.7.8
- jar
-
- UTF-8
-
-
-
- calculator-base
- software.amazon.jsii.tests
- 0.7.8
-
-
- software.amazon.jsii
- jsii-runtime
- 0.7.8
-
-
- javax.annotation
- javax.annotation-api
- [1.3.2,)
- provided
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.6.1
-
- 1.8
- 1.8
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 3.1.0
-
-
- true
-
- true
- true
-
-
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
- 3.0.1
-
-
- attach-sources
-
- jar
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 3.0.1
-
-
- attach-javadocs
-
- jar
-
-
-
-
- false
- protected
-
-
-
-
-
diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/bin/src/main/resources/software/amazon/jsii/tests/calculator/lib/jsii-calc-lib@0.7.8.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/bin/src/main/resources/software/amazon/jsii/tests/calculator/lib/jsii-calc-lib@0.7.8.jsii.tgz
deleted file mode 100644
index eef7587bf2..0000000000
--- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/bin/src/main/resources/software/amazon/jsii/tests/calculator/lib/jsii-calc-lib@0.7.8.jsii.tgz
+++ /dev/null
@@ -1,2 +0,0 @@
-Placeholder for the expected module tarball
-The diff-test.sh harness will replace it with the real expected tarball
diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/.jsii b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/.jsii
index 4c24af0f45..d245fa15e5 100644
--- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/.jsii
+++ b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/.jsii
@@ -2273,72 +2273,6 @@
}
]
},
- "jsii-calc.NullShouldBeTreatedAsUndefined": {
- "assembly": "jsii-calc",
- "docs": {
- "comment": "jsii#282, aws-cdk#157: null should be treated as \"undefined\""
- },
- "fqn": "jsii-calc.NullShouldBeTreatedAsUndefined",
- "initializer": {
- "initializer": true
- },
- "kind": "class",
- "methods": [
- {
- "name": "giveMeUndefined",
- "parameters": [
- {
- "name": "value",
- "type": {
- "optional": true,
- "primitive": "any"
- }
- }
- ]
- },
- {
- "name": "giveMeUndefinedInsideAnObject",
- "parameters": [
- {
- "name": "input",
- "type": {
- "fqn": "jsii-calc.NullShouldBeTreatedAsUndefinedData"
- }
- }
- ]
- }
- ],
- "name": "NullShouldBeTreatedAsUndefined"
- },
- "jsii-calc.NullShouldBeTreatedAsUndefinedData": {
- "assembly": "jsii-calc",
- "datatype": true,
- "fqn": "jsii-calc.NullShouldBeTreatedAsUndefinedData",
- "kind": "interface",
- "name": "NullShouldBeTreatedAsUndefinedData",
- "properties": [
- {
- "abstract": true,
- "name": "arrayWithThreeElementsAndUndefinedAsSecondArgument",
- "type": {
- "collection": {
- "elementtype": {
- "primitive": "any"
- },
- "kind": "array"
- }
- }
- },
- {
- "abstract": true,
- "name": "thisShouldBeUndefined",
- "type": {
- "optional": true,
- "primitive": "any"
- }
- }
- ]
- },
"jsii-calc.NumberGenerator": {
"assembly": "jsii-calc",
"docs": {
@@ -3510,5 +3444,5 @@
}
},
"version": "0.7.8",
- "fingerprint": "XAdwxl3kDei+rmEu3BW+q0nGJxSclmt9xO7wA7KL38o="
+ "fingerprint": "2BaszImarh4WChl9DFUcygfTpEfXU17fHQT2wgEptfM="
}
diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INullShouldBeTreatedAsUndefinedData.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INullShouldBeTreatedAsUndefinedData.cs
deleted file mode 100644
index c5eed0cac8..0000000000
--- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INullShouldBeTreatedAsUndefinedData.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using Amazon.JSII.Runtime.Deputy;
-
-namespace Amazon.JSII.Tests.CalculatorNamespace
-{
- [JsiiInterface(typeof(INullShouldBeTreatedAsUndefinedData), "jsii-calc.NullShouldBeTreatedAsUndefinedData")]
- public interface INullShouldBeTreatedAsUndefinedData
- {
- [JsiiProperty("arrayWithThreeElementsAndUndefinedAsSecondArgument", "{\"collection\":{\"kind\":\"array\",\"elementtype\":{\"primitive\":\"any\"}}}")]
- object[] ArrayWithThreeElementsAndUndefinedAsSecondArgument
- {
- get;
- set;
- }
-
- [JsiiProperty("thisShouldBeUndefined", "{\"primitive\":\"any\",\"optional\":true}")]
- object ThisShouldBeUndefined
- {
- get;
- set;
- }
- }
-}
\ No newline at end of file
diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefined.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefined.cs
deleted file mode 100644
index b85feaf001..0000000000
--- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefined.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using Amazon.JSII.Runtime.Deputy;
-
-namespace Amazon.JSII.Tests.CalculatorNamespace
-{
- /// jsii#282, aws-cdk#157: null should be treated as "undefined"
- [JsiiClass(typeof(NullShouldBeTreatedAsUndefined), "jsii-calc.NullShouldBeTreatedAsUndefined", "[]")]
- public class NullShouldBeTreatedAsUndefined : DeputyBase
- {
- public NullShouldBeTreatedAsUndefined(): base(new DeputyProps(new object[]{}))
- {
- }
-
- protected NullShouldBeTreatedAsUndefined(ByRefValue reference): base(reference)
- {
- }
-
- protected NullShouldBeTreatedAsUndefined(DeputyProps props): base(props)
- {
- }
-
- [JsiiMethod("giveMeUndefined", null, "[{\"name\":\"value\",\"type\":{\"primitive\":\"any\",\"optional\":true}}]")]
- public virtual void GiveMeUndefined(object value)
- {
- InvokeInstanceVoidMethod(new object[]{value});
- }
-
- [JsiiMethod("giveMeUndefinedInsideAnObject", null, "[{\"name\":\"input\",\"type\":{\"fqn\":\"jsii-calc.NullShouldBeTreatedAsUndefinedData\"}}]")]
- public virtual void GiveMeUndefinedInsideAnObject(INullShouldBeTreatedAsUndefinedData input)
- {
- InvokeInstanceVoidMethod(new object[]{input});
- }
- }
-}
\ No newline at end of file
diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedData.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedData.cs
deleted file mode 100644
index 9be4f5bbd0..0000000000
--- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedData.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using Amazon.JSII.Runtime.Deputy;
-
-namespace Amazon.JSII.Tests.CalculatorNamespace
-{
- public class NullShouldBeTreatedAsUndefinedData : DeputyBase, INullShouldBeTreatedAsUndefinedData
- {
- [JsiiProperty("arrayWithThreeElementsAndUndefinedAsSecondArgument", "{\"collection\":{\"kind\":\"array\",\"elementtype\":{\"primitive\":\"any\"}}}", true)]
- public object[] ArrayWithThreeElementsAndUndefinedAsSecondArgument
- {
- get;
- set;
- }
-
- [JsiiProperty("thisShouldBeUndefined", "{\"primitive\":\"any\",\"optional\":true}", true)]
- public object ThisShouldBeUndefined
- {
- get;
- set;
- }
- }
-}
\ No newline at end of file
diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedDataProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedDataProxy.cs
deleted file mode 100644
index 0456317c14..0000000000
--- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedDataProxy.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using Amazon.JSII.Runtime.Deputy;
-
-namespace Amazon.JSII.Tests.CalculatorNamespace
-{
- [JsiiTypeProxy(typeof(INullShouldBeTreatedAsUndefinedData), "jsii-calc.NullShouldBeTreatedAsUndefinedData")]
- internal sealed class NullShouldBeTreatedAsUndefinedDataProxy : DeputyBase, INullShouldBeTreatedAsUndefinedData
- {
- private NullShouldBeTreatedAsUndefinedDataProxy(ByRefValue reference): base(reference)
- {
- }
-
- [JsiiProperty("arrayWithThreeElementsAndUndefinedAsSecondArgument", "{\"collection\":{\"kind\":\"array\",\"elementtype\":{\"primitive\":\"any\"}}}")]
- public object[] ArrayWithThreeElementsAndUndefinedAsSecondArgument
- {
- get => GetInstanceProperty