Skip to content

Commit e13e251

Browse files
committed
Merge branch 'release/v1.0-beta-4'
2 parents 1fd1d7f + 5639670 commit e13e251

37 files changed

+79
-47
lines changed

core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>com.axellience</groupId>
99
<artifactId>vue-gwt-parent</artifactId>
10-
<version>1.0-beta-3</version>
10+
<version>1.0-beta-4</version>
1111
</parent>
1212

1313
<artifactId>vue-gwt-core</artifactId>

core/src/main/java/com/axellience/vuegwt/core/generation/GenerationUtil.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.google.gwt.resources.client.ClientBundle;
77
import com.google.gwt.resources.client.ClientBundle.Source;
88
import com.squareup.javapoet.AnnotationSpec;
9+
import com.squareup.javapoet.ArrayTypeName;
910
import com.squareup.javapoet.ClassName;
1011
import com.squareup.javapoet.CodeBlock;
1112
import com.squareup.javapoet.FieldSpec;
@@ -27,6 +28,8 @@
2728
import java.io.IOException;
2829
import java.io.Writer;
2930
import java.lang.annotation.Annotation;
31+
import java.util.regex.Matcher;
32+
import java.util.regex.Pattern;
3033

3134
/**
3235
* @author Adrien Baron
@@ -172,6 +175,24 @@ public static TypeName stringTypeToTypeName(String type)
172175
if (type.equals("Double") || type.equals("java.lang.Double"))
173176
return TypeName.DOUBLE.box();
174177

175-
return ClassName.bestGuess(type);
178+
// Manage array types
179+
Pattern arrayEnding = Pattern.compile("\\[\\]");
180+
Matcher matcher = arrayEnding.matcher(type);
181+
int arrayCount = 0;
182+
while (matcher.find())
183+
arrayCount++;
184+
185+
if (arrayCount > 0)
186+
{
187+
type = type.substring(0, type.length() - arrayCount * 2);
188+
}
189+
190+
TypeName typeName = ClassName.bestGuess(type);
191+
for (int i = 0; i < arrayCount; i++)
192+
{
193+
typeName = ArrayTypeName.of(typeName);
194+
}
195+
196+
return typeName;
176197
}
177198
}

core/src/main/java/com/axellience/vuegwt/core/template/builder/TemplateImplBuilder.java

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -108,14 +108,25 @@ private void generateGetRenderFunction(Builder templateBuilder,
108108
* @param result The result from compilation using vue-template-compiler
109109
*/
110110
private void generateGetStaticRenderFunctions(Builder templateBuilder,
111-
VueTemplateCompilerResult result)
111+
VueTemplateCompilerResult result)
112112
{
113-
MethodSpec.Builder getStaticRenderFunctionsBuilder = MethodSpec
114-
.methodBuilder("getStaticRenderFunctions")
115-
.addModifiers(Modifier.PUBLIC)
116-
.returns(String[].class)
117-
.addStatement("return new String[] { $L }",
118-
String.join(", ", result.getStaticRenderFunctions()));
113+
CodeBlock.Builder staticFunctions = CodeBlock.builder();
114+
115+
boolean isFirst = true;
116+
for (String staticRenderFunction : result.getStaticRenderFunctions()) {
117+
if (!isFirst) {
118+
staticFunctions.add(", ");
119+
} else {
120+
isFirst = false;
121+
}
122+
staticFunctions.add("$S", staticRenderFunction);
123+
}
124+
125+
MethodSpec.Builder getStaticRenderFunctionsBuilder =
126+
MethodSpec.methodBuilder("getStaticRenderFunctions")
127+
.addModifiers(Modifier.PUBLIC)
128+
.returns(String[].class)
129+
.addStatement("return new String[] { $L }", staticFunctions.build());
119130

120131
templateBuilder.addMethod(getStaticRenderFunctionsBuilder.build());
121132
}

docs-source/book/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ When you are ready, you can get started with by **[setting it up on your project
4848
If you use it on a small project, please <a href="https://gitter.im/Axellience/vue-gwt" target="_blank">let us know how it goes</a>.
4949
</p>
5050

51-
*This documentation was last updated for [Vue.js v2.4.3](https://github.com/vuejs/vue/releases/tag/v2.4.3) and Vue GWT 1.0-beta-3*
51+
*This documentation was last updated for [Vue.js v2.4.3](https://github.com/vuejs/vue/releases/tag/v2.4.3) and Vue GWT 1.0-beta-4*
5252

5353
## Who made this?
5454

docs-source/book/project-setup.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ To add Vue GWT to your Maven project, simply add the following to your `pom.xml`
1313
<dependency>
1414
<groupId>com.axellience</groupId>
1515
<artifactId>vue-gwt</artifactId>
16-
<version>1.0-beta-3</version>
16+
<version>1.0-beta-4</version>
1717
</dependency>
1818
<!-- Annotation Processors for Vue GWT -->
1919
<dependency>
2020
<groupId>com.axellience</groupId>
2121
<artifactId>vue-gwt-processors</artifactId>
22-
<version>1.0-beta-3</version>
22+
<version>1.0-beta-4</version>
2323
<optional>true</optional>
2424
</dependency>
2525
</dependencies>

docs-source/examples/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<groupId>com.axellience</groupId>
99
<artifactId>vue-gwt-examples</artifactId>
1010
<packaging>war</packaging>
11-
<version>1.0-beta-3</version>
11+
<version>1.0-beta-4</version>
1212
<name>Vue GWT Examples</name>
1313

1414
<properties>

docs/advanced/integrating-with-js-components.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1136,7 +1136,7 @@ <h1 class="search-results-title">No results matching "<span class='search-query'
11361136
<script>
11371137
var gitbook = gitbook || [];
11381138
gitbook.push(function() {
1139-
gitbook.page.hasChanged({"page":{"title":"Integrating With JS Components","level":"8.1","depth":1,"next":{"title":"Using JS Components in Java","level":"8.1.1","depth":2,"anchor":"#using-js-components-in-java","path":"advanced/integrating-with-js-components.md","ref":"advanced/integrating-with-js-components.md#using-js-components-in-java","articles":[]},"previous":{"title":"Routing","level":"7.1","depth":1,"path":"scaling-up/routing.md","ref":"scaling-up/routing.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["include","toggle-chapters"],"pluginsConfig":{"include":{},"toggle-chapters":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"advanced/integrating-with-js-components.md","mtime":"2017-11-18T09:24:57.571Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-11-18T11:51:52.642Z"},"basePath":"..","book":{"language":""}});
1139+
gitbook.page.hasChanged({"page":{"title":"Integrating With JS Components","level":"8.1","depth":1,"next":{"title":"Using JS Components in Java","level":"8.1.1","depth":2,"anchor":"#using-js-components-in-java","path":"advanced/integrating-with-js-components.md","ref":"advanced/integrating-with-js-components.md#using-js-components-in-java","articles":[]},"previous":{"title":"Routing","level":"7.1","depth":1,"path":"scaling-up/routing.md","ref":"scaling-up/routing.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["include","toggle-chapters"],"pluginsConfig":{"include":{},"toggle-chapters":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"advanced/integrating-with-js-components.md","mtime":"2017-11-18T11:53:05.446Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-11-18T14:35:30.125Z"},"basePath":"..","book":{"language":""}});
11401140
});
11411141
</script>
11421142
</div>

docs/advanced/unsupported-features.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -980,7 +980,7 @@ <h1 class="search-results-title">No results matching "<span class='search-query'
980980
<script>
981981
var gitbook = gitbook || [];
982982
gitbook.push(function() {
983-
gitbook.page.hasChanged({"page":{"title":"Unsupported Features","level":"8.2","depth":1,"previous":{"title":"Using our Java Components in JS","level":"8.1.2","depth":2,"anchor":"#using-java-components-in-js","path":"advanced/integrating-with-js-components.md","ref":"advanced/integrating-with-js-components.md#using-java-components-in-js","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["include","toggle-chapters"],"pluginsConfig":{"include":{},"toggle-chapters":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"advanced/unsupported-features.md","mtime":"2017-09-10T17:55:25.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-11-18T11:51:52.642Z"},"basePath":"..","book":{"language":""}});
983+
gitbook.page.hasChanged({"page":{"title":"Unsupported Features","level":"8.2","depth":1,"previous":{"title":"Using our Java Components in JS","level":"8.1.2","depth":2,"anchor":"#using-java-components-in-js","path":"advanced/integrating-with-js-components.md","ref":"advanced/integrating-with-js-components.md#using-java-components-in-js","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["include","toggle-chapters"],"pluginsConfig":{"include":{},"toggle-chapters":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"advanced/unsupported-features.md","mtime":"2017-09-10T17:55:25.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-11-18T14:35:30.125Z"},"basePath":"..","book":{"language":""}});
984984
});
985985
</script>
986986
</div>

docs/composition/custom-directives.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1111,7 +1111,7 @@ <h1 class="search-results-title">No results matching "<span class='search-query'
11111111
<script>
11121112
var gitbook = gitbook || [];
11131113
gitbook.push(function() {
1114-
gitbook.page.hasChanged({"page":{"title":"Custom Directives","level":"4.2","depth":1,"next":{"title":"Render Function","level":"4.3","depth":1,"path":"composition/render-function.md","ref":"composition/render-function.md","articles":[{"title":"Basics","level":"4.3.1","depth":2,"anchor":"#basics","path":"composition/render-function.md","ref":"composition/render-function.md#basics","articles":[]},{"title":"The VNodeBuilder Instance","level":"4.3.2","depth":2,"anchor":"#v-node-builder-instance","path":"composition/render-function.md","ref":"composition/render-function.md#v-node-builder-instance","articles":[]},{"title":"Replacing Template Features with Plain Java","level":"4.3.3","depth":2,"anchor":"#replacing-template-feature-in-java","path":"composition/render-function.md","ref":"composition/render-function.md#replacing-template-feature-in-java","articles":[]}]},"previous":{"title":"Extending JS Components","level":"4.1.2","depth":2,"anchor":"#extending-js-component","path":"composition/extending-components.md","ref":"composition/extending-components.md#extending-js-component","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["include","toggle-chapters"],"pluginsConfig":{"include":{},"toggle-chapters":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"composition/custom-directives.md","mtime":"2017-10-05T15:40:12.835Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-11-18T11:51:52.642Z"},"basePath":"..","book":{"language":""}});
1114+
gitbook.page.hasChanged({"page":{"title":"Custom Directives","level":"4.2","depth":1,"next":{"title":"Render Function","level":"4.3","depth":1,"path":"composition/render-function.md","ref":"composition/render-function.md","articles":[{"title":"Basics","level":"4.3.1","depth":2,"anchor":"#basics","path":"composition/render-function.md","ref":"composition/render-function.md#basics","articles":[]},{"title":"The VNodeBuilder Instance","level":"4.3.2","depth":2,"anchor":"#v-node-builder-instance","path":"composition/render-function.md","ref":"composition/render-function.md#v-node-builder-instance","articles":[]},{"title":"Replacing Template Features with Plain Java","level":"4.3.3","depth":2,"anchor":"#replacing-template-feature-in-java","path":"composition/render-function.md","ref":"composition/render-function.md#replacing-template-feature-in-java","articles":[]}]},"previous":{"title":"Extending JS Components","level":"4.1.2","depth":2,"anchor":"#extending-js-component","path":"composition/extending-components.md","ref":"composition/extending-components.md#extending-js-component","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["include","toggle-chapters"],"pluginsConfig":{"include":{},"toggle-chapters":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"composition/custom-directives.md","mtime":"2017-10-05T15:40:12.835Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-11-18T14:35:30.125Z"},"basePath":"..","book":{"language":""}});
11151115
});
11161116
</script>
11171117
</div>

0 commit comments

Comments
 (0)