diff --git a/bnd.bnd b/bnd.bnd
new file mode 100644
index 0000000..25af3ea
--- /dev/null
+++ b/bnd.bnd
@@ -0,0 +1,7 @@
+Import-Package: javax.security.auth.callback, \
+    javax.security.auth.login, \
+    org.apache.sling.jcr.jackrabbit.server.security;resolution:=optional, \
+    *
+
+Bundle-DocURL: http://sling.apache.org/site/form-based-authenticationhandler.html
+Conditional-Package: org.apache.commons.codec*
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 110af53..b426c82 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,14 +14,13 @@
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
 		<groupId>org.apache.sling</groupId>
-		<artifactId>sling</artifactId>
-		<version>33</version>
+		<artifactId>sling-bundle-parent</artifactId>
+		<version>38</version>
 		<relativePath />
 	</parent>
 
 	<artifactId>org.apache.sling.auth.form</artifactId>
 	<version>1.0.17-SNAPSHOT</version>
-	<packaging>bundle</packaging>
 
 	<name>Apache Sling Form Based Authentication Handler</name>
 	<description>
@@ -43,47 +42,6 @@
 	  <tag>HEAD</tag>
   </scm>
 
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-				<extensions>true</extensions>
-				<configuration>
-					<instructions>
-						<Bundle-DocURL>
-							http://sling.apache.org/site/form-based-authenticationhandler.html
-						</Bundle-DocURL>
-						<Export-Package>
-							org.apache.sling.auth.form;version=1.0
-						</Export-Package>
-						<Private-Package>
-							org.apache.sling.auth.form.impl.*
-						</Private-Package>
-						<Import-Package>
-							javax.security.auth.callback;
-							javax.security.auth.login;
-							org.apache.sling.jcr.jackrabbit.server.security;
-							resolution:=optional,
-							*
-						</Import-Package>
-						<Embed-Dependency>
-							org.apache.sling.commons.osgi;inline="org/apache/sling/commons/osgi/OsgiUtil.*",
-							commons-codec;inline="org/apache/commons/codec/binary/Base64.*
-							|org/apache/commons/codec/binary/Hex*
-							|org/apache/commons/codec/binary/StringUtils*
-							|org/apache/commons/codec/BinaryEncoder*
-							|org/apache/commons/codec/BinaryDecoder*
-							|org/apache/commons/codec/Encoder*
-							|org/apache/commons/codec/Decoder*
-							|org/apache/commons/codec/EncoderException*
-							|org/apache/commons/codec/DecoderException*"
-						</Embed-Dependency>
-					</instructions>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
 
 	<dependencies>
 		<dependency>
@@ -95,6 +53,10 @@
 			<artifactId>org.osgi.service.metatype.annotations</artifactId>
 		</dependency>
 		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.annotation.versioning</artifactId>
+		</dependency>
+		<dependency>
 			<groupId>org.apache.sling</groupId>
 			<artifactId>org.apache.sling.auth.core</artifactId>
 			<version>1.4.2</version>
@@ -135,12 +97,6 @@
 
 		<!-- Embedded Dependencies -->
 		<dependency>
-			<groupId>org.apache.sling</groupId>
-			<artifactId>org.apache.sling.commons.osgi</artifactId>
-			<version>2.0.2-incubator</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
 			<groupId>commons-codec</groupId>
 			<artifactId>commons-codec</artifactId>
 			<version>1.4</version>
diff --git a/src/main/java/org/apache/sling/auth/form/package-info.java b/src/main/java/org/apache/sling/auth/form/package-info.java
new file mode 100644
index 0000000..0e11f03
--- /dev/null
+++ b/src/main/java/org/apache/sling/auth/form/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+@org.osgi.annotation.versioning.Version("1.0")
+package org.apache.sling.auth.form;
diff --git a/src/test/java/org/apache/sling/auth/form/impl/FormAuthenticationHandlerTest.java b/src/test/java/org/apache/sling/auth/form/impl/FormAuthenticationHandlerTest.java
index 7457cfc..5858d85 100644
--- a/src/test/java/org/apache/sling/auth/form/impl/FormAuthenticationHandlerTest.java
+++ b/src/test/java/org/apache/sling/auth/form/impl/FormAuthenticationHandlerTest.java
@@ -46,11 +46,13 @@
 import org.osgi.framework.BundleContext;
 import org.powermock.api.easymock.PowerMock;
 import org.powermock.api.support.membermodification.MemberMatcher;
+import org.powermock.core.classloader.annotations.PowerMockIgnore;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.PowerMockRunner;
 
 @RunWith(PowerMockRunner.class)
 @PrepareForTest(FormAuthenticationHandler.class)
+@PowerMockIgnore("jdk.internal.reflect.*")
 public class FormAuthenticationHandlerTest {
 
     @Test public void test_getTokenFile() {
