SLING-10045 update dependencies to 2018
diff --git a/core/pom.xml b/core/pom.xml
index ece16c5..0484294 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>2.7.1-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
@@ -80,32 +80,32 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.models.api</artifactId>
-            <version>1.3.2</version>
+            <version>1.3.6</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.models.impl</artifactId>
-            <version>1.3.8</version>
+            <version>1.4.6</version>
             <scope>compile</scope>
         </dependency>
     
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.api</artifactId>
-            <version>2.16.2</version>
+            <version>2.16.4</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.resourceresolver</artifactId>
-            <version>1.5.22</version>
+            <version>1.5.34</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.serviceusermapper</artifactId>
-            <version>1.2.4</version>
+            <version>1.3.6</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
@@ -117,20 +117,30 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.resource</artifactId>
-            <version>2.9.2</version>
+            <version>3.0.8</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.scripting.api</artifactId>
-            <version>2.1.12</version>
+            <version>2.2.0</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.scripting.core</artifactId>
-            <version>2.0.44</version>
+            <version>2.0.54</version>
             <scope>compile</scope>
+            <exclusions>
+              <exclusion>
+                <groupId>org.osgi</groupId>
+                <artifactId>org.osgi.core</artifactId>
+              </exclusion>
+              <exclusion>
+                <groupId>org.osgi</groupId>
+                <artifactId>org.osgi.compendium</artifactId>
+              </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -153,13 +163,13 @@
         <dependency>
             <groupId>org.apache.johnzon</groupId>
             <artifactId>johnzon-core</artifactId>
-            <version>1.0.0</version>
+            <version>1.1.1</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.commons.classloader</artifactId>
-            <version>1.3.2</version>
+            <version>1.4.2</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
@@ -171,13 +181,13 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.i18n</artifactId>
-            <version>2.4.4</version>
+            <version>2.5.10</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.adapter</artifactId>
-            <version>2.1.6</version>
+            <version>2.1.10</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
@@ -201,13 +211,13 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-api</artifactId>
-            <version>2.11.3</version>
+            <version>2.16.0</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-jcr</artifactId>
-            <version>1.6.1</version>
+            <version>1.8.2</version>
             <scope>compile</scope>
         </dependency>
 
@@ -226,13 +236,13 @@
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
-            <version>2.4</version>
+            <version>2.5</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>commons-lang</groupId>
             <artifactId>commons-lang</artifactId>
-            <version>2.5</version>
+            <version>2.6</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/MockAdapterManagerImpl.java b/core/src/main/java/org/apache/sling/testing/mock/sling/MockAdapterManagerImpl.java
index 0287b4d..e8d4a83 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/MockAdapterManagerImpl.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/MockAdapterManagerImpl.java
@@ -82,7 +82,7 @@
      * the manager has been activated. These bound services will be accessed as
      * soon as the manager is being activated.
      */
-    private final List<ServiceReference> boundAdapterFactories = new LinkedList<ServiceReference>();
+    private final List<ServiceReference<AdapterFactory>> boundAdapterFactories = new LinkedList<ServiceReference<AdapterFactory>>();
 
     /**
      * A map of {@link AdapterFactoryDescriptorMap} instances. The map is
@@ -173,12 +173,12 @@
         this.context = context;
 
         // register all adapter factories bound before activation
-        final List<ServiceReference> refs;
+        final List<ServiceReference<AdapterFactory>> refs;
         synchronized ( this.boundAdapterFactories ) {
-            refs = new ArrayList<ServiceReference>(this.boundAdapterFactories);
+            refs = new ArrayList<ServiceReference<AdapterFactory>>(this.boundAdapterFactories);
             boundAdapterFactories.clear();
         }
-        for (final ServiceReference reference : refs) {
+        for (final ServiceReference<AdapterFactory> reference : refs) {
             registerAdapterFactory(context, reference);
         }
 
@@ -201,7 +201,7 @@
      * Bind a new adapter factory.
      * @param reference Service reference
      */
-    protected void bindAdapterFactory(final ServiceReference reference) {
+    protected void bindAdapterFactory(final ServiceReference<AdapterFactory> reference) {
         boolean create = true;
         if (context == null) {
             synchronized ( this.boundAdapterFactories ) {
@@ -250,8 +250,9 @@
      * Unregisters the {@link AdapterFactory} referred to by the service
      * <code>reference</code> from the registry.
      */
+    @SuppressWarnings("null")
     private void registerAdapterFactory(final ComponentContext context,
-            final ServiceReference reference) {
+            final ServiceReference<AdapterFactory> reference) {
         final String[] adaptables = PropertiesUtil.toStringArray(reference.getProperty(ADAPTABLE_CLASSES));
         final String[] adapters = PropertiesUtil.toStringArray(reference.getProperty(ADAPTER_CLASSES));
 
@@ -300,8 +301,7 @@
         props.put(SlingConstants.PROPERTY_ADAPTABLE_CLASSES, adaptables);
         props.put(SlingConstants.PROPERTY_ADAPTER_CLASSES, adapters);
 
-        ServiceRegistration adaptionRegistration = this.context.getBundleContext().registerService(
-                Adaption.class.getName(), AdaptionImpl.INSTANCE, props);
+        ServiceRegistration<Adaption> adaptionRegistration = this.context.getBundleContext().registerService(Adaption.class, AdaptionImpl.INSTANCE, props);
         if (log.isDebugEnabled()) {
             log.debug("Registered service {} with {} : {} and {} : {}", new Object[] { Adaption.class.getName(),
                     SlingConstants.PROPERTY_ADAPTABLE_CLASSES, Arrays.toString(adaptables),
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java b/core/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
index 48f0d5a..85865ee 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
@@ -58,6 +58,7 @@
      * @param slingRepository Sling repository. If null resource resolver factory is setup without any resource provider.
      * @param bundleContext Bundle context
      */
+    @SuppressWarnings("null")
     public static @NotNull ResourceResolverFactory setUp(@Nullable SlingRepository slingRepository, 
             @NotNull BundleContext bundleContext, @NotNull NodeTypeMode nodeTypeMode) {
         
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java b/core/src/main/java/org/apache/sling/testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java
index 84018a0..9d88d6f 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java
@@ -85,6 +85,7 @@
             this.bundleContext = null;
         }
         
+        @SuppressWarnings("null")
         public synchronized AdapterManager getAdapterManager() {
             if (bundleContext == null) {
                 setBundleContext(MockOsgi.newBundleContext());
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/builder/ImmutableValueMap.java b/core/src/main/java/org/apache/sling/testing/mock/sling/builder/ImmutableValueMap.java
index 719c3a8..e94c6bc 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/builder/ImmutableValueMap.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/builder/ImmutableValueMap.java
@@ -66,7 +66,7 @@
     }
 
     @Override
-    public <T> T get(@NotNull String name, T defaultValue) {
+    public @NotNull <T> T get(@NotNull String name, @NotNull T defaultValue) {
         return this.map.get(name, defaultValue);
     }
 
@@ -184,6 +184,7 @@
      * @param v1 Value 1
      * @return ImmutableValueMap
      */
+    @SuppressWarnings("null")
     public static @NotNull ImmutableValueMap of(@NotNull String k1, @NotNull Object v1) {
         return new ImmutableValueMap(Collections.singletonMap(k1, v1));
     }
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java b/core/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java
index 74b16e8..34f5ad0 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java
@@ -19,5 +19,5 @@
 /**
  * Content builder for creating test content.
  */
-@org.osgi.annotation.versioning.Version("1.3")
+@org.osgi.annotation.versioning.Version("1.3.1")
 package org.apache.sling.testing.mock.sling.builder;
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java b/core/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java
index b3b9519..4d0cad5 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java
@@ -475,6 +475,7 @@
      * Set current run mode(s).
      * @param runModes Run mode(s).
      */
+    @SuppressWarnings("null")
     public final void runMode(@NotNull String @NotNull ... runModes) {
         Set<String> newRunModes = new HashSet<>(Arrays.asList(runModes));
         ServiceReference<SlingSettingsService> ref = bundleContext().getServiceReference(SlingSettingsService.class);
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java b/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java
index 7974b0a..fdb46d7 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java
@@ -502,6 +502,7 @@
      * @param names The names from which to derive the mime type
      * @return Mime type (never null)
      */
+    @SuppressWarnings("null")
     private @NotNull String detectMimeTypeFromNames(@NotNull String @NotNull ... names) {
         String mimeType = null;
         for (String name : names) {
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java b/core/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
index 5589d4a..be4fd11 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
@@ -61,6 +61,7 @@
     }
     
     @Override
+    @SuppressWarnings("null")
     public ResourceBundle getResourceBundle(String baseName, Locale locale) {
         // check of ResourceBundleProvider is registered in mock OSGI context
         ResourceBundle resourceBundle = null;
diff --git a/junit4/pom.xml b/junit4/pom.xml
index 0ceea26..3286fd4 100644
--- a/junit4/pom.xml
+++ b/junit4/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>2.7.1-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
@@ -48,13 +48,13 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.sling-mock.core</artifactId>
-            <version>2.7.1-SNAPSHOT</version>
+            <version>3.0.0-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.sling-mock.core</artifactId>
-            <version>2.7.1-SNAPSHOT</version>
+            <version>3.0.0-SNAPSHOT</version>
             <classifier>tests</classifier>
             <scope>test</scope>
         </dependency>
diff --git a/junit5/pom.xml b/junit5/pom.xml
index 72b0a6d..ace2354 100644
--- a/junit5/pom.xml
+++ b/junit5/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>2.7.1-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
@@ -48,13 +48,13 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.sling-mock.core</artifactId>
-            <version>2.7.1-SNAPSHOT</version>
+            <version>3.0.0-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.sling-mock.core</artifactId>
-            <version>2.7.1-SNAPSHOT</version>
+            <version>3.0.0-SNAPSHOT</version>
             <classifier>tests</classifier>
             <scope>test</scope>
         </dependency>
diff --git a/parent/pom.xml b/parent/pom.xml
index 2cd9562..1eea0bb 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-    <version>2.7.1-SNAPSHOT</version>
+    <version>3.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache Sling Testing Sling Mock Parent</name>
@@ -36,9 +36,9 @@
     
     <properties>
 
-        <osgi-mock.version>2.4.16</osgi-mock.version>
-        <jcr-mock.version>1.4.6</jcr-mock.version>
-        <resourceresolver-mock.version>1.1.26</resourceresolver-mock.version>
+        <osgi-mock.version>3.0.0-SNAPSHOT</osgi-mock.version>
+        <jcr-mock.version>1.5.0-SNAPSHOT</jcr-mock.version>
+        <resourceresolver-mock.version>1.2.0-SNAPSHOT</resourceresolver-mock.version>
         <logging-mock.version>2.0.0</logging-mock.version>
         <servlet-helpers.version>1.4.2</servlet-helpers.version>
         <resourcebuilder.version>1.0.4</resourcebuilder.version>
@@ -75,12 +75,12 @@
         <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-core</artifactId>
-            <version>3.1.0</version>
+            <version>3.7.0</version>
         </dependency>
         <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-junit-jupiter</artifactId>
-            <version>3.1.0</version>
+            <version>3.7.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
diff --git a/pom.xml b/pom.xml
index ea47aa9..027195a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>2.7.1-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>parent/pom.xml</relativePath>
     </parent>
 
diff --git a/relocate/pom.xml b/relocate/pom.xml
index 71f2fad..59bdc21 100644
--- a/relocate/pom.xml
+++ b/relocate/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>2.7.1-SNAPSHOT</version>
+        <version>3.0.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>