Skip to content

Commit

Permalink
Merge branch 'release/1.0-beta-9'
Browse files Browse the repository at this point in the history
  • Loading branch information
adrienbaron committed Aug 1, 2018
2 parents fc9f8e7 + 2c44868 commit bc3bf17
Show file tree
Hide file tree
Showing 440 changed files with 15,158 additions and 9,638 deletions.
121 changes: 63 additions & 58 deletions core/pom.xml
Original file line number Diff line number Diff line change
@@ -1,68 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>com.axellience</groupId>
<artifactId>vue-gwt-parent</artifactId>
<version>1.0-beta-8</version>
</parent>
<parent>
<groupId>com.axellience</groupId>
<artifactId>vue-gwt-parent</artifactId>
<version>1.0-beta-9</version>
</parent>

<artifactId>vue-gwt</artifactId>
<name>Vue GWT</name>
<description>Vue GWT core classes</description>
<packaging>gwt-lib</packaging>

<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<artifactId>vue-gwt</artifactId>
<name>Vue GWT</name>
<description>Vue GWT core classes</description>
<packaging>gwt-lib</packaging>

<dependencies>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

<!-- GWT dependencies -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
</dependency>
<dependency>
<groupId>com.google.jsinterop</groupId>
<artifactId>base</artifactId>
</dependency>
<dependency>
<groupId>com.google.elemental2</groupId>
<artifactId>elemental2-core</artifactId>
</dependency>
<dependency>
<groupId>com.google.elemental2</groupId>
<artifactId>elemental2-dom</artifactId>
</dependency>
<dependencies>

<!-- Injection -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<classifier>sources</classifier>
</dependency>
<!-- GWT dependencies -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
</dependency>
<dependency>
<groupId>com.google.jsinterop</groupId>
<artifactId>base</artifactId>
</dependency>
<dependency>
<groupId>com.google.elemental2</groupId>
<artifactId>elemental2-core</artifactId>
</dependency>
<dependency>
<groupId>com.google.elemental2</groupId>
<artifactId>elemental2-dom</artifactId>
</dependency>

</dependencies>
<!-- Injection -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<classifier>sources</classifier>
</dependency>

<build>
<plugins>
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<moduleName>com.axellience.vuegwt.VueGWT</moduleName>
</configuration>
</plugin>
</plugins>
</build>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<moduleName>com.axellience.vuegwt.VueGWT</moduleName>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
</resources>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -1,56 +1,60 @@
package com.axellience.vuegwt.core.annotations.component;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import com.axellience.vuegwt.core.client.component.IsVueComponent;
import com.axellience.vuegwt.core.client.component.options.CustomizeOptions;
import com.axellience.vuegwt.core.client.directive.VueDirective;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
* Annotation placed on Vue Components
*
* @author Adrien Baron
*/
@Target(TYPE)
@Retention(RUNTIME)
public @interface Component
{
String name() default "";

/**
* Should use a factory for the data model.
* Passing this to false will make all your components instance share the same data model.
* @return true if we should use a factory, false otherwise
*/
boolean useFactory() default true;

/**
* Components to register on this component instance
* @return This list of {@link IsVueComponent} to register on this Component
*/
Class<? extends IsVueComponent>[] components() default {};

/**
* Directives to register on this component instance
* @return This list of {@link VueDirective} to register on this Component
*/
Class<? extends VueDirective>[] directives() default {};

/**
* Object responsible to customize the options of the Component.
* This can be used to register routes with Vue router, or more.
* They are injected if the component is injected.
* @return This list of {@link CustomizeOptions}
*/
Class<? extends CustomizeOptions>[] customizeOptions() default {};

/**
* A flag to set that the component doesn't have a template.
* If the component is abstract, or implement HasRender then it's consider false by default.
* @return true if has a html template, false otherwise
*/
boolean hasTemplate() default true;
public @interface Component {

String name() default "";

/**
* Should use a factory for the data model. Passing this to false will make all your components
* instance share the same data model.
*
* @return true if we should use a factory, false otherwise
*/
boolean useFactory() default true;

/**
* Components to register on this component instance
*
* @return This list of {@link IsVueComponent} to register on this Component
*/
Class<? extends IsVueComponent>[] components() default {};

/**
* Directives to register on this component instance
*
* @return This list of {@link VueDirective} to register on this Component
*/
Class<? extends VueDirective>[] directives() default {};

/**
* Object responsible to customize the options of the Component. This can be used to register
* routes with Vue router, or more. They are injected if the component is injected.
*
* @return This list of {@link CustomizeOptions}
*/
Class<? extends CustomizeOptions>[] customizeOptions() default {};

/**
* A flag to set that the component doesn't have a template. If the component is abstract, or
* implement HasRender then it's consider false by default.
*
* @return true if has a html template, false otherwise
*/
boolean hasTemplate() default true;
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
package com.axellience.vuegwt.core.annotations.component;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.CLASS;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
* Mark a computed property
*
* @author Adrien Baron
*/
@Target(METHOD)
@Retention(CLASS)
public @interface Computed
{
String value() default "";
public @interface Computed {

String value() default "";
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.axellience.vuegwt.core.annotations.component;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
* Mark a field as "Data" in a Component. This field will be observed recursively by Vue.js
*/
@Target(FIELD)
@Retention(RUNTIME)
public @interface Data {

}
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
package com.axellience.vuegwt.core.annotations.component;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.CLASS;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
* Method annotated with this will emit an event automatically when called
* Similar to @Emit() from vue-property-decorator
* https://github.com/kaorun343/vue-property-decorator
* Method annotated with this will emit an event automatically when called Similar to @Emit() from
* vue-property-decorator https://github.com/kaorun343/vue-property-decorator
*/
@Target(METHOD)
@Retention(CLASS)
public @interface Emit
{
String value() default "";
public @interface Emit {

String value() default "";
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
package com.axellience.vuegwt.core.annotations.component;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.CLASS;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
* @author Adrien Baron
*/
@Target(METHOD)
@Retention(CLASS)
public @interface HookMethod
{}
public @interface HookMethod {

}
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
package com.axellience.vuegwt.core.annotations.component;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.SOURCE;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
* Annotation placed on Vue Components
*
* @author Adrien Baron
*/
@Target(TYPE)
@Retention(SOURCE)
public @interface JsComponent
{
String value();
public @interface JsComponent {

String value();

String name() default "";
}
Loading

0 comments on commit bc3bf17

Please sign in to comment.