You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2016/10/09 19:21:44 UTC

[1/3] archiva-redback-core git commit: Adding flag for authenticator to avoid autowiring exceptions

Repository: archiva-redback-core
Updated Branches:
  refs/heads/jpa e21719025 -> 8d9f47436


Adding flag for authenticator to avoid autowiring exceptions

Adds a isValid() method to the authenticator to avoid exceptions during
initialization.


Project: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/commit/7e83bebc
Tree: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/tree/7e83bebc
Diff: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/diff/7e83bebc

Branch: refs/heads/jpa
Commit: 7e83bebcec58429d9eb3ae9573280db9676a2cf7
Parents: d17c6ff
Author: Martin Stockhammer <ma...@apache.org>
Authored: Mon Oct 3 19:36:13 2016 +0200
Committer: Martin Stockhammer <ma...@apache.org>
Committed: Mon Oct 3 19:36:13 2016 +0200

----------------------------------------------------------------------
 .../redback/authentication/AbstractAuthenticator.java  |  8 +++++++-
 .../archiva/redback/authentication/Authenticator.java  |  2 ++
 .../authentication/DefaultAuthenticationManager.java   |  2 +-
 .../authentication/ldap/LdapBindAuthenticator.java     |  5 +++++
 .../connection/ConfigurableLdapConnectionFactory.java  | 13 ++++++++++++-
 .../common/ldap/connection/LdapConnectionFactory.java  |  2 ++
 6 files changed, 29 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/7e83bebc/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AbstractAuthenticator.java
----------------------------------------------------------------------
diff --git a/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AbstractAuthenticator.java b/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AbstractAuthenticator.java
index 1c80bc3..80d1918 100644
--- a/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AbstractAuthenticator.java
+++ b/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/AbstractAuthenticator.java
@@ -24,9 +24,15 @@ package org.apache.archiva.redback.authentication;
 public abstract class AbstractAuthenticator
     implements Authenticator
 {
+    protected boolean valid = false;
+
     public void initialize()
         throws AuthenticationException
     {
-        // no op
+        valid = true;
+    }
+
+    public boolean isValid() {
+        return valid;
     }
 }

http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/7e83bebc/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/Authenticator.java
----------------------------------------------------------------------
diff --git a/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/Authenticator.java b/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/Authenticator.java
index 6efe11c..ce99757 100644
--- a/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/Authenticator.java
+++ b/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/Authenticator.java
@@ -38,4 +38,6 @@ public interface Authenticator
         throws AccountLockedException, AuthenticationException, MustChangePasswordException;
 
     void initialize() throws AuthenticationException;
+
+    boolean isValid();
 }

http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/7e83bebc/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/DefaultAuthenticationManager.java
----------------------------------------------------------------------
diff --git a/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/DefaultAuthenticationManager.java b/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/DefaultAuthenticationManager.java
index d5342bf..bda3276 100644
--- a/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/DefaultAuthenticationManager.java
+++ b/redback-authentication/redback-authentication-api/src/main/java/org/apache/archiva/redback/authentication/DefaultAuthenticationManager.java
@@ -92,7 +92,7 @@ public class DefaultAuthenticationManager
         List<AuthenticationFailureCause> authnResultErrors = new ArrayList<AuthenticationFailureCause>();
         for ( Authenticator authenticator : authenticators )
         {
-            if ( authenticator.supportsDataSource( source ) )
+            if ( authenticator.isValid() && authenticator.supportsDataSource( source ) )
             {
                 AuthenticationResult authResult = authenticator.authenticate( source );
                 List<AuthenticationFailureCause> authenticationFailureCauses =

http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/7e83bebc/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java
----------------------------------------------------------------------
diff --git a/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java b/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java
index 648b2f9..fedae34 100644
--- a/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java
+++ b/redback-authentication/redback-authentication-providers/redback-authentication-ldap/src/main/java/org/apache/archiva/redback/authentication/ldap/LdapBindAuthenticator.java
@@ -208,4 +208,9 @@ public class LdapBindAuthenticator
             log.warn( "skip exception closing naming search result {}", e.getMessage() );
         }
     }
+
+    @Override
+    public boolean isValid() {
+        return connectionFactory.isValid();
+    }
 }

http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/7e83bebc/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/ConfigurableLdapConnectionFactory.java
----------------------------------------------------------------------
diff --git a/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/ConfigurableLdapConnectionFactory.java b/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/ConfigurableLdapConnectionFactory.java
index 4aab487..2340cc5 100644
--- a/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/ConfigurableLdapConnectionFactory.java
+++ b/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/ConfigurableLdapConnectionFactory.java
@@ -21,6 +21,8 @@ package org.apache.archiva.redback.common.ldap.connection;
 
 import org.apache.archiva.redback.configuration.UserConfiguration;
 import org.apache.archiva.redback.configuration.UserConfigurationKeys;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
@@ -41,6 +43,8 @@ public class ConfigurableLdapConnectionFactory
     implements LdapConnectionFactory
 {
 
+    private final Logger log = LoggerFactory.getLogger(ConfigurableLdapConnectionFactory.class);
+
     private String hostname;
 
     private int port;
@@ -61,6 +65,8 @@ public class ConfigurableLdapConnectionFactory
 
     private LdapConnectionConfiguration ldapConnectionConfiguration;
 
+    private boolean valid = false;
+
 
     @Inject
     @Named(value = "userConfiguration#default")
@@ -90,10 +96,11 @@ public class ConfigurableLdapConnectionFactory
             ldapConnectionConfiguration.setAuthenticationMethod(
                 userConf.getString( UserConfigurationKeys.LDAP_AUTHENTICATION_METHOD, authenticationMethod ) );
             ldapConnectionConfiguration.setExtraProperties( extraProperties );
+            valid = true;
         }
         catch ( InvalidNameException e )
         {
-            throw new RuntimeException( "Error while initializing connection factory.", e );
+            log.error("Error during initialization of LdapConnectionFactory "+e.getMessage(),e);
         }
     }
 
@@ -266,4 +273,8 @@ public class ConfigurableLdapConnectionFactory
     {
         this.userConf = userConf;
     }
+
+    public boolean isValid() {
+        return valid;
+    }
 }

http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/7e83bebc/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/LdapConnectionFactory.java
----------------------------------------------------------------------
diff --git a/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/LdapConnectionFactory.java b/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/LdapConnectionFactory.java
index d81b3e2..4d6ec03 100644
--- a/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/LdapConnectionFactory.java
+++ b/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/connection/LdapConnectionFactory.java
@@ -51,4 +51,6 @@ public interface LdapConnectionFactory
 
     void initialize();
 
+    public boolean isValid();
+
 }


[2/3] archiva-redback-core git commit: Merge branch 'validauth' into jpa

Posted by ma...@apache.org.
Merge branch 'validauth' into jpa


Project: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/commit/e2581cd1
Tree: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/tree/e2581cd1
Diff: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/diff/e2581cd1

Branch: refs/heads/jpa
Commit: e2581cd12705cd81539b0c05d293fdaa03d70ad2
Parents: e217190 7e83beb
Author: Martin Stockhammer <ma...@apache.org>
Authored: Tue Oct 4 20:46:28 2016 +0200
Committer: Martin Stockhammer <ma...@apache.org>
Committed: Tue Oct 4 20:46:28 2016 +0200

----------------------------------------------------------------------
 .../redback/authentication/AbstractAuthenticator.java  |  8 +++++++-
 .../archiva/redback/authentication/Authenticator.java  |  2 ++
 .../authentication/DefaultAuthenticationManager.java   |  2 +-
 .../authentication/ldap/LdapBindAuthenticator.java     |  5 +++++
 .../connection/ConfigurableLdapConnectionFactory.java  | 13 ++++++++++++-
 .../common/ldap/connection/LdapConnectionFactory.java  |  2 ++
 6 files changed, 29 insertions(+), 3 deletions(-)
----------------------------------------------------------------------



[3/3] archiva-redback-core git commit: JPA bytecode enhancement

Posted by ma...@apache.org.
JPA bytecode enhancement


Project: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/commit/8d9f4743
Tree: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/tree/8d9f4743
Diff: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/diff/8d9f4743

Branch: refs/heads/jpa
Commit: 8d9f47436ed7d1e76c5f14b4e0af4c90275f056c
Parents: e2581cd
Author: Martin Stockhammer <ma...@apache.org>
Authored: Sun Oct 9 21:13:18 2016 +0200
Committer: Martin Stockhammer <ma...@apache.org>
Committed: Sun Oct 9 21:13:18 2016 +0200

----------------------------------------------------------------------
 .../src/main/resources/META-INF/persistence.xml |   6 +-
 .../redback-rbac-jpa/pom.xml                    | 107 +++++++++++-------
 .../redback-users-jpa/pom.xml                   | 111 ++++++++++++-------
 3 files changed, 144 insertions(+), 80 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/8d9f4743/redback-common/redback-common-jpa/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/redback-common/redback-common-jpa/src/main/resources/META-INF/persistence.xml b/redback-common/redback-common-jpa/src/main/resources/META-INF/persistence.xml
index 46878e8..817eb20 100644
--- a/redback-common/redback-common-jpa/src/main/resources/META-INF/persistence.xml
+++ b/redback-common/redback-common-jpa/src/main/resources/META-INF/persistence.xml
@@ -20,7 +20,7 @@
 <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
     <persistence-unit name="redback-jpa">
         <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
-        <jta-data-source>java:comp/env/jdbc/redbackjpa</jta-data-source>
+        <non-jta-data-source>java:comp/env/jdbc/redbackjpa</non-jta-data-source>
         <class>org.apache.archiva.redback.users.jpa.model.JpaUser</class>
         <class>org.apache.archiva.redback.rbac.jpa.model.JpaOperation</class>
         <class>org.apache.archiva.redback.rbac.jpa.model.JpaResource</class>
@@ -28,9 +28,11 @@
         <class>org.apache.archiva.redback.rbac.jpa.model.JpaRole</class>
         <class>org.apache.archiva.redback.rbac.jpa.model.JpaUserAssignment</class>
         <properties>
-            <property name="openjpa.jdbc.SchemaFactory" value="native(ForeignKeys=true)" />
+          <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
+          <property name="openjpa.jdbc.SchemaFactory" value="native(ForeignKeys=true)" />
             <property name="openjpa.jdbc.MappingDefaults"
                       value="ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict"/>
+            <property name="openjpa.Log" value="DefaultLevel=TRACE, Runtime=TRACE, Tool=INFO"/>
         </properties>
     </persistence-unit>
 </persistence>

http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/8d9f4743/redback-rbac/redback-rbac-providers/redback-rbac-jpa/pom.xml
----------------------------------------------------------------------
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-jpa/pom.xml b/redback-rbac/redback-rbac-providers/redback-rbac-jpa/pom.xml
index 77045ab..ba1c0bd 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-jpa/pom.xml
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-jpa/pom.xml
@@ -20,51 +20,82 @@
 <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">
-    <parent>
-        <artifactId>redback-rbac-providers</artifactId>
-        <groupId>org.apache.archiva.redback</groupId>
-        <version>2.5-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>redback-rbac-providers</artifactId>
+    <groupId>org.apache.archiva.redback</groupId>
+    <version>2.5-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>redback-rbac-jpa</artifactId>
+  <artifactId>redback-rbac-jpa</artifactId>
   <packaging>jar</packaging>
   <name>Redback :: RBAC Provider :: JPA</name>
 
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.archiva.redback</groupId>
-            <artifactId>redback-rbac-model</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>javax.annotation</groupId>
-            <artifactId>jsr250-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.archiva.redback</groupId>
-            <artifactId>redback-rbac-tests</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.archiva.redback</groupId>
-            <artifactId>redback-common-jpa</artifactId>
-        </dependency>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.archiva.redback</groupId>
+      <artifactId>redback-rbac-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-context-support</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>javax.annotation</groupId>
+      <artifactId>jsr250-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.archiva.redback</groupId>
+      <artifactId>redback-rbac-tests</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.archiva.redback</groupId>
+      <artifactId>redback-common-jpa</artifactId>
+    </dependency>
 
-        <dependency>
+    <dependency>
+      <groupId>org.apache.openjpa</groupId>
+      <artifactId>openjpa</artifactId>
+      <version>${openjpa.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hsqldb</groupId>
+      <artifactId>hsqldb</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.openjpa</groupId>
+        <artifactId>openjpa-maven-plugin</artifactId>
+        <version>2.4.1</version>
+        <configuration>
+          <includes>**/model/*.class</includes>
+          <addDefaultConstructor>true</addDefaultConstructor>
+          <enforcePropertyRestrictions>true</enforcePropertyRestrictions>
+        </configuration>
+        <executions>
+          <execution>
+            <id>enhancer</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>enhance</goal>
+            </goals>
+          </execution>
+        </executions>
+        <dependencies>
+          <dependency>
             <groupId>org.apache.openjpa</groupId>
             <artifactId>openjpa</artifactId>
+            <!-- set the version to be the same as the level in your runtime -->
             <version>${openjpa.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.hsqldb</groupId>
-            <artifactId>hsqldb</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
+          </dependency>
+        </dependencies>
+      </plugin>
+    </plugins>
+  </build>
 
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/8d9f4743/redback-users/redback-users-providers/redback-users-jpa/pom.xml
----------------------------------------------------------------------
diff --git a/redback-users/redback-users-providers/redback-users-jpa/pom.xml b/redback-users/redback-users-providers/redback-users-jpa/pom.xml
index 2606b71..4d23718 100644
--- a/redback-users/redback-users-providers/redback-users-jpa/pom.xml
+++ b/redback-users/redback-users-providers/redback-users-jpa/pom.xml
@@ -20,49 +20,80 @@
 <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">
-    <parent>
-        <artifactId>redback-users-providers</artifactId>
-        <groupId>org.apache.archiva.redback</groupId>
-        <version>2.5-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>redback-users-providers</artifactId>
+    <groupId>org.apache.archiva.redback</groupId>
+    <version>2.5-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>redback-users-jpa</artifactId>
-    <packaging>jar</packaging>
-    <name>Redback :: Users Provider :: JPA</name>
+  <artifactId>redback-users-jpa</artifactId>
+  <packaging>jar</packaging>
+  <name>Redback :: Users Provider :: JPA</name>
 
-    <dependencies>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>javax.annotation</groupId>
-            <artifactId>jsr250-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.archiva.redback</groupId>
-            <artifactId>redback-policy</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.archiva.redback</groupId>
-            <artifactId>redback-common-jpa</artifactId>
-        </dependency>
-        <dependency>
+  <dependencies>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-context-support</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>javax.annotation</groupId>
+      <artifactId>jsr250-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.archiva.redback</groupId>
+      <artifactId>redback-policy</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.archiva.redback</groupId>
+      <artifactId>redback-common-jpa</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openjpa</groupId>
+      <artifactId>openjpa</artifactId>
+      <version>${openjpa.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.hsqldb</groupId>
+      <artifactId>hsqldb</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.archiva.redback</groupId>
+      <artifactId>redback-users-tests</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.openjpa</groupId>
+        <artifactId>openjpa-maven-plugin</artifactId>
+        <version>2.4.1</version>
+        <configuration>
+          <includes>**/model/*.class</includes>
+          <addDefaultConstructor>true</addDefaultConstructor>
+          <enforcePropertyRestrictions>true</enforcePropertyRestrictions>
+        </configuration>
+        <executions>
+          <execution>
+            <id>enhancer</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>enhance</goal>
+            </goals>
+          </execution>
+        </executions>
+        <dependencies>
+          <dependency>
             <groupId>org.apache.openjpa</groupId>
             <artifactId>openjpa</artifactId>
+            <!-- set the version to be the same as the level in your runtime -->
             <version>${openjpa.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.hsqldb</groupId>
-            <artifactId>hsqldb</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.archiva.redback</groupId>
-            <artifactId>redback-users-tests</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
+          </dependency>
+        </dependencies>
+      </plugin>
+    </plugins>
+  </build>
 </project>
\ No newline at end of file