Skip to content

Commit

Permalink
Merge branch 'release/0.10.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
pmlopes committed Nov 22, 2019
2 parents aed9662 + d5ef8e5 commit c97523a
Show file tree
Hide file tree
Showing 9,476 changed files with 7,201,275 additions and 110,978 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
Binary file added .mvn/wrapper/maven-wrapper.jar
Binary file not shown.
1 change: 1 addition & 0 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip
38 changes: 30 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,45 @@ matrix:
include:
# OpenJDK
- env: JDK='OpenJDK 8'
os: linux
dist: xenial
install: . ./install-jdk.sh --url "https://api.adoptopenjdk.net/v2/binary/releases/openjdk8?openjdk_impl=hotspot&os=linux&type=jdk&release=latest&heap_size=normal&arch=x64"
- env: JDK='OpenJDK 11'
os: linux
dist: xenial
install: . ./install-jdk.sh --url "https://api.adoptopenjdk.net/v2/binary/releases/openjdk11?openjdk_impl=hotspot&os=linux&type=jdk&release=latest&heap_size=normal&arch=x64"
- env: JDK='OpenJDK 12'
install: . ./install-jdk.sh --url "https://api.adoptopenjdk.net/v2/binary/releases/openjdk12?openjdk_impl=hotspot&os=linux&type=jdk&release=latest&heap_size=normal&arch=x64"
- env: JDK='OpenJDK 13'
os: linux
dist: xenial
install: . ./install-jdk.sh --url "https://api.adoptopenjdk.net/v2/binary/releases/openjdk13?openjdk_impl=hotspot&os=linux&type=jdk&release=latest&heap_size=normal&arch=x64"
# GraalVM
- env: JDK='GraalVM 19'
install: . ./install-jdk.sh --url "https://github.com/oracle/graal/releases/download/vm-19.2.0/graalvm-ce-linux-amd64-19.2.0.tar.gz"
- env: JDK='GraalVM 19.3.0 (8)'
os: linux
dist: xenial
install: . ./install-jdk.sh --url "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.0/graalvm-ce-java8-linux-amd64-19.3.0.tar.gz"
- env: JDK='GraalVM 19.3.0 (11)'
os: linux
dist: xenial
install: . ./install-jdk.sh --url "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.0/graalvm-ce-java11-linux-amd64-19.3.0.tar.gz"
- env: JDK='GraalVM 19.3.0 (11)'
os: linux
dist: xenial
arch: arm64
install: . ./install-jdk.sh --url "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.0/graalvm-ce-java11-linux-aarch64-19.3.0.tar.gz"
# OpenJ9
- env: JDK='OpenJ9'
- env: JDK='OpenJ9 11'
os: linux
dist: xenial
install: . ./install-jdk.sh --url "https://api.adoptopenjdk.net/v2/binary/releases/openjdk11?openjdk_impl=openj9&os=linux&type=jdk&release=latest&heap_size=normal&arch=x64"
- env: JDK='OpenJ9 13'
os: linux
dist: xenial
install: . ./install-jdk.sh --url "https://api.adoptopenjdk.net/v2/binary/releases/openjdk13?openjdk_impl=openj9&os=linux&type=jdk&release=latest&heap_size=normal&arch=x64"
allow_failures:
- env: JDK='OpenJ9'
- env: JDK='OpenJDK 12'
- env: JDK='OpenJDK 13'

script:
- mvn clean verify
- ./mvnw clean verify

after_success:
- '[[ "${JDK}" = "OpenJDK 11" ]] && bash <(curl -s https://codecov.io/bash) || true'
10 changes: 9 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,15 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [0.9.6] -
## [0.10.1] -

## [0.10.0] - 2019-11-22
- Upgraded Graal to 19.3.0
- Upgraded Vert.x to 3.8.4
- Many fixes on module generation reported by `tsc`
- Some modules still fail with `tsc` (but fixes have been pushed upstream)
- `es4x` script will also take `JAVA_OPTS` into consideration when running
- Build now confirmed to work on `aarch64`

## [0.9.5] - 2019-10-18
- Moved `runtime.d.ts` to `es4x.d.ts` and integrated the missing internal modules too.
Expand Down
4 changes: 2 additions & 2 deletions codegen/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
<parent>
<groupId>io.reactiverse</groupId>
<artifactId>es4x-parent</artifactId>
<version>0.9.5</version>
<version>0.10.0</version>
<relativePath>..</relativePath>
</parent>

<modelVersion>4.0.0</modelVersion>

<artifactId>es4x-codegen</artifactId>
<version>0.9.5</version>
<version>0.10.0</version>

<properties>
</properties>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import java.util.HashSet;
import java.util.Map;

import static io.reactiverse.es4x.codegen.generator.Util.generateDoc;
import static io.reactiverse.es4x.codegen.generator.Util.isBlacklistedClass;

public class EnumDTS extends Generator<EnumModel> {
Expand Down Expand Up @@ -58,11 +59,7 @@ public String render(EnumModel model, int index, int size, Map<String, Object> s
writer.print("\n");
}

if (model.getDoc() != null) {
writer.print("/**\n");
writer.printf(" *%s\n", model.getDoc().toString().replace("\n", "\n * "));
writer.print(" */\n");
}
generateDoc(writer, model.getDoc(), "");

writer.printf("export enum %s {\n", model.getType().getRaw().getSimpleName());
for (int i = 0; i < model.getValues().size(); i++) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
package io.reactiverse.es4x.codegen.generator;

import io.vertx.codegen.*;
import io.vertx.codegen.doc.Doc;
import io.vertx.codegen.type.ApiTypeInfo;
import io.vertx.codegen.type.ClassTypeInfo;
import io.vertx.codegen.type.EnumTypeInfo;
Expand Down Expand Up @@ -141,11 +140,7 @@ public String render(ClassModel model, int index, int size, Map<String, Object>
}
}

if (model.getDoc() != null) {
writer.print("/**\n");
writer.printf(" *%s\n", model.getDoc().toString().replace("\n", "\n * "));
writer.print("*/\n");
}
generateDoc(writer, model.getDoc(), "");

writer.printf("export %s %s%s", model.isConcrete() ? "abstract class" : "interface", type.getSimpleName(), genGeneric(type.getParams()));

Expand Down Expand Up @@ -183,7 +178,7 @@ public String render(ClassModel model, int index, int size, Map<String, Object>
writer.print("\n");
}

generateDoc(writer, constant.getDoc());
generateDoc(writer, constant.getDoc(), " ");

writer.printf(" static readonly %s : %s;\n", constant.getName(), genType(constant.getType()));
moreConstants = true;
Expand Down Expand Up @@ -249,7 +244,7 @@ public String render(ClassModel model, int index, int size, Map<String, Object>
writer.print("\n");
}

generateDoc(writer, constant.getDoc());
generateDoc(writer, constant.getDoc(), " ");

writer.printf(" static readonly %s : %s;\n", constant.getName(), genType(constant.getType()));
moreConstants = true;
Expand All @@ -275,18 +270,9 @@ public String render(ClassModel model, int index, int size, Map<String, Object>
return sw.toString();
}


private void generateDoc(PrintWriter writer, Doc doc) {
if (doc != null) {
writer.print(" /**\n");
writer.printf(" *%s\n", doc.toString().replace("\n", "\n * "));
writer.print(" */\n");
}
}

private void generateMethod(PrintWriter writer, ClassTypeInfo type, MethodInfo method) {

generateDoc(writer, method.getDoc());
generateDoc(writer, method.getDoc(), " ");

if (getOverrideArgs(type.getSimpleName(), method.getName()) != null) {
writer.printf(" %s%s%s(%s", method.isStaticMethod() ? "static " : "", method.getName(), genGeneric(method.getTypeParams()), getOverrideArgs(type.getSimpleName(), method.getName()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,7 @@ public String render(DataObjectModel model, int index, int size, Map<String, Obj
writer.print("\n");
}

if (model.getDoc() != null) {
writer.print("/**\n");
writer.printf(" *%s\n", model.getDoc().toString().replace("\n", "\n * "));
writer.print("*/\n");
}
generateDoc(writer, model.getDoc(), "");

writer.printf("export %sclass %s {\n", model.isConcrete() ? "" : "abstract ", model.getType().getRaw().getSimpleName());

Expand All @@ -138,11 +134,7 @@ public String render(DataObjectModel model, int index, int size, Map<String, Obj
}

// write getter
if (property.getDoc() != null) {
writer.print(" /**\n");
writer.printf(" *%s\n", property.getDoc().toString().replace("\n", "\n * "));
writer.print(" */\n");
}
generateDoc(writer, property.getDoc(), " ");
// custom vert.x style
String getter = property.getGetterMethod();
writer.printf(" %s(): %s;\n", getter == null ? entry.getKey() : getter, genType(property.getType()));
Expand All @@ -152,23 +144,15 @@ public String render(DataObjectModel model, int index, int size, Map<String, Obj
// write setter
writer.print("\n");

if (property.getDoc() != null) {
writer.print(" /**\n");
writer.printf(" *%s\n", property.getDoc().toString().replace("\n", "\n * "));
writer.print(" */\n");
}
generateDoc(writer, property.getDoc(), " ");
writer.printf(" %s(%s: %s): %s;\n", property.getSetterMethod(), cleanReserved(entry.getKey()), genType(property.getType()), model.getType().getRaw().getSimpleName());
}

if (property.isAdder()) {
// write adder
writer.print("\n");

if (property.getDoc() != null) {
writer.print(" /**\n");
writer.printf(" *%s\n", property.getDoc().toString().replace("\n", "\n * "));
writer.print(" */\n");
}
generateDoc(writer, property.getDoc(), " ");
writer.printf(" %s(%s: %s): %s;\n", property.getAdderMethod(), cleanReserved(entry.getKey()), genType(property.getType()), model.getType().getRaw().getSimpleName());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,26 @@

import io.vertx.codegen.ModuleInfo;
import io.vertx.codegen.TypeParamInfo;
import io.vertx.codegen.doc.Doc;
import io.vertx.codegen.doc.Tag;
import io.vertx.codegen.doc.Token;
import io.vertx.codegen.type.*;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;

import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.*;

import static io.vertx.codegen.type.ClassKind.DATA_OBJECT;
import static io.vertx.codegen.type.ClassKind.ENUM;
import static javax.lang.model.element.ElementKind.*;

public final class Util {

private Util() {
Expand Down Expand Up @@ -427,4 +436,51 @@ public static String getOverrideReturn(String type, String method) {

return null;
}

public static void generateDoc(PrintWriter writer, Doc doc, String margin) {
if (doc != null) {
writer.print(margin);
writer.print("/**\n");
Token.toHtml(doc.getTokens(), margin + " *", Util::renderLinkToHtml, "\n", writer);
writer.print(margin);
writer.print(" */\n");
}
}

/**
* Render a tag link to an html link, this function is used as parameter of the
* renderDocToHtml function when it needs to render tag links.
*/
private static String renderLinkToHtml(Tag.Link link) {
ClassTypeInfo rawType = link.getTargetType().getRaw();
if (rawType.getModule() != null) {
String label = link.getLabel().trim();
if (rawType.getKind() == DATA_OBJECT) {
if (label.length() == 0) {
label = rawType.getSimpleName();
}
return "<a href=\"../../dataobjects.html#" + rawType.getSimpleName() + "\">" + label + "</a>";
} else if (rawType.getKind() == ENUM && ((EnumTypeInfo) rawType).isGen()) {
if (label.length() == 0) {
label = rawType.getSimpleName();
}
return "<a href=\"../../enums.html#" + rawType.getSimpleName() + "\">" + label + "</a>";
} else {
if (label.length() > 0) {
label = "[" + label + "] ";
}
Element elt = link.getTargetElement();
String jsType = rawType.getSimpleName();
ElementKind kind = elt.getKind();
if (kind == CLASS || kind == INTERFACE) {
return label + "{@link " + jsType + "}";
} else if (kind == METHOD) {
return label + "{@link " + jsType + "#" + elt.getSimpleName().toString() + "}";
} else {
System.out.println("Unhandled kind " + kind);
}
}
}
return null;
}
}
Loading

0 comments on commit c97523a

Please sign in to comment.