Skip to content

Commit 6e67d0f

Browse files
committed
Deprecate @Style annotation and vue-gwt style imports
1 parent d3c0a9a commit 6e67d0f

File tree

4 files changed

+22
-3
lines changed

4 files changed

+22
-3
lines changed

core/src/main/java/com/axellience/vuegwt/core/annotations/style/Style.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,14 @@
77
import static java.lang.annotation.RetentionPolicy.SOURCE;
88

99
/**
10-
* Annotation placed on Vue Components
10+
* Annotation placed on Style
11+
* Will be removed in Vue GWT beta-6.
12+
* Please check https://axellience.github.io/vue-gwt/gwt-integration/client-bundles-and-styles.html#styles
13+
* to see how to use styles in your templates without this annotation.
1114
* @author Adrien Baron
1215
*/
1316
@Target(TYPE)
1417
@Retention(SOURCE)
18+
@Deprecated
1519
public @interface Style
1620
{}

core/src/main/java/com/axellience/vuegwt/core/template/parser/TemplateParser.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import com.github.javaparser.ast.expr.NameExpr;
1616
import com.github.javaparser.ast.nodeTypes.NodeWithType;
1717
import com.github.javaparser.ast.type.Type;
18+
import com.google.gwt.core.ext.TreeLogger;
1819
import jsinterop.base.Any;
1920
import org.jsoup.nodes.Attribute;
2021
import org.jsoup.nodes.Document;
@@ -42,6 +43,7 @@
4243
*/
4344
public class TemplateParser
4445
{
46+
private final TreeLogger logger;
4547
private static Pattern VUE_ATTR_PATTERN = Pattern.compile("^(v-|:|@).*");
4648
private static Pattern VUE_MUSTACHE_PATTERN = Pattern.compile("\\{\\{.*?}}");
4749

@@ -50,8 +52,9 @@ public class TemplateParser
5052

5153
private String currentExpressionReturnType;
5254

53-
public TemplateParser()
55+
public TemplateParser(TreeLogger logger)
5456
{
57+
this.logger = logger;
5558
}
5659

5760
/**
@@ -93,6 +96,10 @@ private void processImports(Document doc)
9396
{
9497
result.addStyleImports(element.attr("name"), element.attr("style"));
9598
context.addRootVariable(element.attr("style"), element.attr("name"));
99+
logger.log(TreeLogger.WARN,
100+
"Style import in template is deprecated and will be removed in beta-6. Found usage in "
101+
+ context.getTemplateName()
102+
+ ". Please see https://axellience.github.io/vue-gwt/gwt-integration/client-bundles-and-styles.html#styles for information on how to use styles without this import.");
96103
}
97104
else if (element.hasAttr("class"))
98105
{

gwt2/src/main/java/com/axellience/vuegwt/gwt2/template/TemplateGwtGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ private void generateOnce(PrintWriter printWriter, TreeLogger logger,
8484
registerFieldsAndMethodsInContext(templateParserContext, componentJsType);
8585

8686
TemplateParserResult templateParserResult =
87-
new TemplateParser().parseHtmlTemplate(templateContent, templateParserContext);
87+
new TemplateParser(logger).parseHtmlTemplate(templateContent, templateParserContext);
8888

8989
createTemplateImpl(generatorContext,
9090
logger,

processors/src/main/java/com/axellience/vuegwt/processors/style/StyleProviderGenerator.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
import com.squareup.javapoet.TypeName;
55

66
import javax.annotation.processing.Filer;
7+
import javax.annotation.processing.Messager;
78
import javax.annotation.processing.ProcessingEnvironment;
89
import javax.lang.model.element.TypeElement;
10+
import javax.tools.Diagnostic.Kind;
911

1012
import static com.axellience.vuegwt.core.generation.GenerationNameUtil.STYLE_BUNDLE_METHOD_NAME;
1113
import static com.axellience.vuegwt.core.generation.GenerationNameUtil.styleBundleName;
@@ -17,14 +19,20 @@
1719
public class StyleProviderGenerator
1820
{
1921
private final Filer filer;
22+
private final Messager messager;
2023

2124
public StyleProviderGenerator(ProcessingEnvironment processingEnvironment)
2225
{
2326
filer = processingEnvironment.getFiler();
27+
messager = processingEnvironment.getMessager();
2428
}
2529

2630
public void generate(TypeElement styleTypeElement)
2731
{
32+
messager.printMessage(Kind.WARNING,
33+
"@Style annotation is deprecated and will be removed in Vue GWT 1.0-beta-6. Used on CssResource: "
34+
+ styleTypeElement.getQualifiedName().toString());
35+
2836
GenerationUtil.generateGwtBundle(styleTypeElement,
2937
styleBundleName(styleTypeElement),
3038
STYLE_BUNDLE_METHOD_NAME,

0 commit comments

Comments
 (0)