[Libreoffice-commits] core.git: Branch 'aoo/trunk' - 3 commits - jurt/Ant_jurt.mk jurt/com jurt/java jurt/Library_jpipe.mk jurt/Library_wrapper.mk jurt/Makefile jurt/Module_jurt.mk jurt/prj jurt/test jurt/Zip_jurt-src.mk Module_ooo.mk odk/pack Repository.mk solenv/ant solenv/gbuild

Damjan Jovanovic damjan at apache.org
Sun Apr 8 14:13:16 UTC 2018


 Module_ooo.mk                                                                       |    1 
 Repository.mk                                                                       |    2 
 jurt/Ant_jurt.mk                                                                    |   27 +
 jurt/Library_jpipe.mk                                                               |   38 ++
 jurt/Library_wrapper.mk                                                             |   38 ++
 jurt/Makefile                                                                       |   32 +
 jurt/Module_jurt.mk                                                                 |   52 ++
 jurt/Zip_jurt-src.mk                                                                |   83 ++++
 jurt/java/jurt/build.xml                                                            |   46 ++
 jurt/java/jurt/src/main/java/com/sun/star/comp/loader/FactoryHelper.java            |   26 -
 jurt/java/jurt/src/main/java/com/sun/star/comp/loader/JavaLoader.java               |    4 
 jurt/java/jurt/src/main/java/com/sun/star/comp/servicemanager/ServiceManager.java   |   24 -
 jurt/java/jurt/src/main/java/com/sun/star/comp/urlresolver/UrlResolver.java         |    2 
 jurt/java/jurt/src/main/java/com/sun/star/lib/connections/pipe/PipeConnection.java  |    4 
 jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/JobQueue.java |    4 
 jurt/prj/build.lst                                                                  |   22 -
 jurt/prj/d.lst                                                                      |    8 
 jurt/prj/makefile.mk                                                                |   44 ++
 odk/pack/gendocu/makefile.mk                                                        |    2 
 solenv/ant/aoo-ant.xml                                                              |  184 ++++++++++
 solenv/ant/externals.xml                                                            |   76 ++++
 solenv/ant/idl.xml                                                                  |   99 +++++
 solenv/gbuild/Ant.mk                                                                |   87 ++++
 solenv/gbuild/TargetLocations.mk                                                    |    2 
 solenv/gbuild/gbuild.mk                                                             |    1 
 25 files changed, 847 insertions(+), 61 deletions(-)

New commits:
commit cfb4b128bbc9ffb4128605301f0a57728a5a6d87
Author: Damjan Jovanovic <damjan at apache.org>
Date:   Sun Apr 8 13:25:06 2018 +0000

    Pass the Windows path to Ant on Windows, as /cygdrive/c/... doesn't work.
    
    Skip tests when JUnit is absent correctly: the OOO_JUNIT_JAR variable
    isn't blank but absent.
    
    This should fix building on Windows.
    
    Patch by: me

diff --git a/solenv/ant/aoo-ant.xml b/solenv/ant/aoo-ant.xml
index 7e9b79e7b38f..94f4fa9442cd 100644
--- a/solenv/ant/aoo-ant.xml
+++ b/solenv/ant/aoo-ant.xml
@@ -119,10 +119,10 @@
     </target>
 
     <target name="test-compile" depends="compile,idl">
-        <property property="test.skip" value="true" if:blank="${OOO_JUNIT_JAR}"/>
-        <echo message="No junit, skipping tests" if:blank="${OOO_JUNIT_JAR}"/>
+        <property name="test.skip" value="true" unless:set="OOO_JUNIT_JAR"/>
+        <echo message="No junit, skipping tests" unless:set="OOO_JUNIT_JAR"/>
 
-        <mkdir dir="${test.build.dir}" unless:blank="${OOO_JUNIT_JAR}"/>
+        <mkdir dir="${test.build.dir}" if:set="OOO_JUNIT_JAR"/>
         <javac srcdir="${test.src.dir}"
                destdir="${test.build.dir}"
                debug="${test.debug}"
@@ -130,12 +130,12 @@
                deprecation="${test.deprecation}"
                classpathref="internal.test.classpath"
                includeantruntime="false"
-               unless:blank="${OOO_JUNIT_JAR}"/>
+               if:set="OOO_JUNIT_JAR"/>
     </target>
 
     <!-- fork="true" is sadly necessary on Ubuntu due to multiple versions of junit confusing Ant,
          see https://github.com/real-logic/simple-binary-encoding/issues/96 -->
-    <target name="test" depends="test-compile" unless:set="${test.skip}">
+    <target name="test" depends="test-compile" unless="${test.skip}">
         <mkdir dir="${test.reports.dir}"/>
         <junit printsummary="yes" haltonfailure="yes" showoutput="true" filtertrace="false" fork="true">
             <classpath refid="internal.test.classpath"/>
diff --git a/solenv/gbuild/Ant.mk b/solenv/gbuild/Ant.mk
index 72b7e900f226..2cd1bc18609b 100644
--- a/solenv/gbuild/Ant.mk
+++ b/solenv/gbuild/Ant.mk
@@ -50,8 +50,13 @@ FORCE:
 # adds jar files to DeliverLogTarget
 # adds dependency for outdir target to workdir target (pattern rule for delivery is in Package.mk)
 define gb_Ant_Ant
+ifeq ($(OS),WNT)
+$(call gb_Ant_get_target,$(1)) : ANTBUILDFILE := `cygpath -m $(2)`
+$(call gb_Ant_get_clean_target,$(1)) : ANTBUILDFILE := `cygpath -m $(2)`
+else
 $(call gb_Ant_get_target,$(1)) : ANTBUILDFILE := $(2)
 $(call gb_Ant_get_clean_target,$(1)) : ANTBUILDFILE := $(2)
+endif
 $(eval $(call gb_Module_register_target,$(call gb_Jar_get_outdir_target,$(1)),$(call gb_Ant_get_clean_target,$(1))))
 $(call gb_Deliver_add_deliverable,$(call gb_Jar_get_outdir_target,$(1)),$(call gb_Ant_get_target,$(1)),$(1))
 $(call gb_Jar_get_outdir_target,$(1)) : $(call gb_Ant_get_target,$(1))
commit 5dbdf373724ffda567a8935fe2cb28d2159112ea
Author: Damjan Jovanovic <damjan at apache.org>
Date:   Sun Apr 8 12:55:40 2018 +0000

    Add a file accidentally left out of the last commit.
    
    Patch by: me

diff --git a/jurt/prj/makefile.mk b/jurt/prj/makefile.mk
new file mode 100644
index 000000000000..c62c6a657d16
--- /dev/null
+++ b/jurt/prj/makefile.mk
@@ -0,0 +1,44 @@
+#**************************************************************
+#  
+#  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.
+#  
+#**************************************************************
+
+
+
+PRJ=..
+TARGET=prj
+
+.INCLUDE : settings.mk
+
+.IF "$(VERBOSE)"!=""
+VERBOSEFLAG :=
+.ELSE
+VERBOSEFLAG := -s
+.ENDIF
+
+.IF "$(DEBUG)"!=""
+DEBUG_ARGUMENT=DEBUG=$(DEBUG)
+.ELIF "$(debug)"!=""
+DEBUG_ARGUMENT=debug=$(debug)
+.ELSE
+DEBUG_ARGUMENT=
+.ENDIF
+
+all:
+    cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET) $(DEBUG_ARGUMENT) && $(GNUMAKE) $(VERBOSEFLAG) -r deliverlog
commit a3b76bbcc506e4d4ba5b0d4c9b6b2914caef462f
Author: Damjan Jovanovic <damjan at apache.org>
Date:   Sun Apr 8 12:55:05 2018 +0000

    Added an Ant target type to gbuild, that can be used to call Ant to build
    
    a deliverable. Added Ant support files that provide build infrastructure
    that can be used by Java projects, including testing with JUnit at
    compile time, processing of external dependencies, using the IDL
    toolchain (idlc, regmerge, javamaker), and general build support like
    compiling into class files, building the JAR file and cleaning. These
    features require Ant version >= 1.9.1.
    
    Ported main/jurt to gbuild and this Ant infrastructure.
    
    Patch by: me

diff --git a/Module_ooo.mk b/Module_ooo.mk
index bec3c6d60e4e..ad9bdbb29561 100644
--- a/Module_ooo.mk
+++ b/Module_ooo.mk
@@ -54,6 +54,7 @@ $(eval $(call gb_Module_add_moduledirs,ooo,\
     idl \
     io \
     javaunohelper \
+    jurt \
     jvmaccess \
     lingucomponent \
     linguistic \
diff --git a/Repository.mk b/Repository.mk
index 1aadac0059c6..ce8467fe768d 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -177,6 +177,8 @@ $(eval $(call gb_Helper_register_libraries,OOOLIBS, \
 ))
 
 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_URE, \
+    jpipe \
+    jpipx \
     xmlreader \
 ))
 
diff --git a/jurt/Ant_jurt.mk b/jurt/Ant_jurt.mk
new file mode 100644
index 000000000000..318ddd26acbf
--- /dev/null
+++ b/jurt/Ant_jurt.mk
@@ -0,0 +1,27 @@
+#**************************************************************
+#  
+#  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.
+#  
+#**************************************************************
+
+
+
+$(eval $(call gb_Ant_Ant,jurt,$(SRCDIR)/jurt/java/jurt/build.xml))
+
+# vim: set noet sw=4 ts=4:
+
diff --git a/jurt/Library_jpipe.mk b/jurt/Library_jpipe.mk
new file mode 100644
index 000000000000..acbb5a951cb2
--- /dev/null
+++ b/jurt/Library_jpipe.mk
@@ -0,0 +1,38 @@
+#**************************************************************
+#  
+#  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.
+#  
+#**************************************************************
+
+$(eval $(call gb_Library_Library,$(JPIPE_NAME)))
+
+$(eval $(call gb_Library_set_include,$(JPIPE_NAME),\
+        $$(INCLUDE) \
+))
+
+$(eval $(call gb_Library_add_linked_libs,$(JPIPE_NAME),\
+	sal \
+	$(gb_STDLIBS) \
+))
+
+
+$(eval $(call gb_Library_add_cobjects,$(JPIPE_NAME),\
+	jurt/source/pipe/com_sun_star_lib_connections_pipe_PipeConnection \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/jurt/Library_wrapper.mk b/jurt/Library_wrapper.mk
new file mode 100644
index 000000000000..62b80c38e788
--- /dev/null
+++ b/jurt/Library_wrapper.mk
@@ -0,0 +1,38 @@
+#**************************************************************
+#  
+#  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.
+#  
+#**************************************************************
+
+$(eval $(call gb_Library_Library,jpipe))
+
+$(eval $(call gb_Library_set_include,jpipe,\
+        $$(INCLUDE) \
+))
+
+$(eval $(call gb_Library_add_linked_libs,jpipe,\
+	sal \
+	$(gb_STDLIBS) \
+))
+
+
+$(eval $(call gb_Library_add_cobjects,jpipe,\
+	jurt/source/pipe/wrapper/wrapper \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/jurt/Makefile b/jurt/Makefile
new file mode 100644
index 000000000000..c1d144cbd4c9
--- /dev/null
+++ b/jurt/Makefile
@@ -0,0 +1,32 @@
+#**************************************************************
+#  
+#  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.
+#  
+#**************************************************************
+
+ifeq ($(strip $(SOLARENV)),)
+$(error No environment set!)
+endif
+
+gb_PARTIALBUILD := T
+GBUILDDIR := $(SOLARENV)/gbuild
+include $(GBUILDDIR)/gbuild.mk
+
+$(eval $(call gb_Module_make_global_targets,$(shell ls $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/Module*.mk)))
+
+# vim: set noet sw=4 ts=4:
diff --git a/jurt/Module_jurt.mk b/jurt/Module_jurt.mk
new file mode 100644
index 000000000000..c367409909fc
--- /dev/null
+++ b/jurt/Module_jurt.mk
@@ -0,0 +1,52 @@
+#**************************************************************
+#  
+#  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.
+#  
+#**************************************************************
+
+
+
+$(eval $(call gb_Module_Module,jurt))
+
+
+
+ifeq ($(GUIBASE),WIN)
+	JPIPE_NAME := jpipx
+else
+	JPIPE_NAME := jpipe
+endif
+
+
+
+$(eval $(call gb_Module_add_targets,jurt,\
+	Ant_jurt \
+	Library_jpipe \
+	Zip_jurt-src \
+))
+
+
+
+ifeq ($(GUIBASE),WIN)
+$(eval $(call gb_Module_add_targets,jurt,\
+	Library_wrapper \
+))
+endif
+
+
+
+# vim: set noet sw=4 ts=4:
diff --git a/jurt/Zip_jurt-src.mk b/jurt/Zip_jurt-src.mk
new file mode 100644
index 000000000000..fe31c049cb5a
--- /dev/null
+++ b/jurt/Zip_jurt-src.mk
@@ -0,0 +1,83 @@
+###############################################################
+#  
+#  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.
+#  
+###############################################################
+
+
+
+$(eval $(call gb_Zip_Zip,jurt_src,$(SRCDIR)/jurt/java/jurt/src/main/java))
+
+$(eval $(call gb_Zip_add_files,jurt_src,\
+	com/sun/star/comp/loader/RegistrationClassFinder.java \
+	com/sun/star/comp/loader/FactoryHelper.java \
+	com/sun/star/comp/loader/JavaLoaderFactory.java \
+	com/sun/star/comp/loader/JavaLoader.java \
+	com/sun/star/comp/bridgefactory/BridgeFactory.java \
+	com/sun/star/comp/connections/ConstantInstanceProvider.java \
+	com/sun/star/comp/connections/Implementation.java \
+	com/sun/star/comp/connections/PipedConnection.java \
+	com/sun/star/comp/connections/Connector.java \
+	com/sun/star/comp/connections/Acceptor.java \
+	com/sun/star/comp/urlresolver/UrlResolver.java \
+	com/sun/star/comp/servicemanager/ServiceManager.java \
+	com/sun/star/uno/MappingException.java \
+	com/sun/star/uno/AsciiString.java \
+	com/sun/star/uno/Ascii.java \
+	com/sun/star/uno/WeakReference.java \
+	com/sun/star/uno/AnyConverter.java \
+	com/sun/star/lib/util/UrlToFileMapper.java \
+	com/sun/star/lib/util/AsynchronousFinalizer.java \
+	com/sun/star/lib/util/StringHelper.java \
+	com/sun/star/lib/util/NativeLibraryLoader.java \
+	com/sun/star/lib/connections/socket/socketAcceptor.java \
+	com/sun/star/lib/connections/socket/SocketConnection.java \
+	com/sun/star/lib/connections/socket/ConnectionDescriptor.java \
+	com/sun/star/lib/connections/socket/socketConnector.java \
+	com/sun/star/lib/connections/pipe/pipeAcceptor.java \
+	com/sun/star/lib/connections/pipe/pipeConnector.java \
+	com/sun/star/lib/connections/pipe/PipeConnection.java \
+	com/sun/star/lib/uno/environments/remote/JavaThreadPoolFactory.java \
+	com/sun/star/lib/uno/environments/remote/IProtocol.java \
+	com/sun/star/lib/uno/environments/remote/Job.java \
+	com/sun/star/lib/uno/environments/remote/IReceiver.java \
+	com/sun/star/lib/uno/environments/remote/remote_environment.java \
+	com/sun/star/lib/uno/environments/remote/IThreadPool.java \
+	com/sun/star/lib/uno/environments/remote/Message.java \
+	com/sun/star/lib/uno/environments/remote/JavaThreadPool.java \
+	com/sun/star/lib/uno/environments/remote/JobQueue.java \
+	com/sun/star/lib/uno/environments/remote/ThreadId.java \
+	com/sun/star/lib/uno/environments/remote/ThreadPoolManager.java \
+	com/sun/star/lib/uno/environments/remote/NativeThreadPool.java \
+	com/sun/star/lib/uno/environments/java/java_environment.java \
+	com/sun/star/lib/uno/bridges/java_remote/XConnectionOutputStream_Adapter.java \
+	com/sun/star/lib/uno/bridges/java_remote/RequestHandler.java \
+	com/sun/star/lib/uno/bridges/java_remote/XConnectionInputStream_Adapter.java \
+	com/sun/star/lib/uno/bridges/java_remote/ProxyFactory.java \
+	com/sun/star/lib/uno/bridges/java_remote/BridgedObject.java \
+	com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java \
+	com/sun/star/lib/uno/Proxy.java \
+	com/sun/star/lib/uno/protocols/urp/PendingRequests.java \
+	com/sun/star/lib/uno/protocols/urp/UrpMessage.java \
+	com/sun/star/lib/uno/protocols/urp/Cache.java \
+	com/sun/star/lib/uno/protocols/urp/Unmarshal.java \
+	com/sun/star/lib/uno/protocols/urp/Marshal.java \
+	com/sun/star/lib/uno/protocols/urp/urp.java \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/jurt/java/jurt/build.xml b/jurt/java/jurt/build.xml
new file mode 100644
index 000000000000..2c1c05a08112
--- /dev/null
+++ b/jurt/java/jurt/build.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--***********************************************************
+ *
+ * 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.
+ *
+ ***********************************************************-->
+
+
+<project name="jurt" default="main">
+
+    <property file="../../../ant.properties"/>
+    <import file="${SRC_ROOT}/solenv/ant/aoo-ant.xml"/>
+
+    <target name="init-project">
+
+        <property name="jar.classpath" value="ridl.jar unoloader.jar ../../lib/ ../bin/"/>
+        <property name="jar.manifest" value="${SRC_ROOT}/jurt/util/manifest"/>
+
+        <path id="main.classpath">
+            <pathelement location="${OUTDIR}/bin/ridl.jar"/>
+            <pathelement location="${OUTDIR}/bin/unoloader.jar"/>
+        </path>
+
+        <filelist id="idl.files">
+            <file name="${test.src.dir}/com/sun/star/lib/uno/protocols/urp/interfaces.idl"/>
+        </filelist>
+
+    </target>
+
+</project>
+
diff --git a/jurt/com/sun/star/comp/bridgefactory/BridgeFactory.java b/jurt/java/jurt/src/main/java/com/sun/star/comp/bridgefactory/BridgeFactory.java
similarity index 100%
rename from jurt/com/sun/star/comp/bridgefactory/BridgeFactory.java
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/bridgefactory/BridgeFactory.java
diff --git a/jurt/com/sun/star/comp/bridgefactory/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/comp/bridgefactory/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/comp/bridgefactory/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/bridgefactory/makefile.mk
diff --git a/jurt/com/sun/star/comp/connections/Acceptor.java b/jurt/java/jurt/src/main/java/com/sun/star/comp/connections/Acceptor.java
similarity index 100%
rename from jurt/com/sun/star/comp/connections/Acceptor.java
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/connections/Acceptor.java
diff --git a/jurt/com/sun/star/comp/connections/Connector.java b/jurt/java/jurt/src/main/java/com/sun/star/comp/connections/Connector.java
similarity index 100%
rename from jurt/com/sun/star/comp/connections/Connector.java
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/connections/Connector.java
diff --git a/jurt/com/sun/star/comp/connections/ConstantInstanceProvider.java b/jurt/java/jurt/src/main/java/com/sun/star/comp/connections/ConstantInstanceProvider.java
similarity index 100%
rename from jurt/com/sun/star/comp/connections/ConstantInstanceProvider.java
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/connections/ConstantInstanceProvider.java
diff --git a/jurt/com/sun/star/comp/connections/Implementation.java b/jurt/java/jurt/src/main/java/com/sun/star/comp/connections/Implementation.java
similarity index 100%
rename from jurt/com/sun/star/comp/connections/Implementation.java
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/connections/Implementation.java
diff --git a/jurt/com/sun/star/comp/connections/PipedConnection.java b/jurt/java/jurt/src/main/java/com/sun/star/comp/connections/PipedConnection.java
similarity index 100%
rename from jurt/com/sun/star/comp/connections/PipedConnection.java
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/connections/PipedConnection.java
diff --git a/jurt/com/sun/star/comp/connections/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/comp/connections/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/comp/connections/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/connections/makefile.mk
diff --git a/jurt/com/sun/star/comp/loader/FactoryHelper.java b/jurt/java/jurt/src/main/java/com/sun/star/comp/loader/FactoryHelper.java
similarity index 98%
rename from jurt/com/sun/star/comp/loader/FactoryHelper.java
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/loader/FactoryHelper.java
index 95e923eba3b2..35232211b662 100644
--- a/jurt/com/sun/star/comp/loader/FactoryHelper.java
+++ b/jurt/java/jurt/src/main/java/com/sun/star/comp/loader/FactoryHelper.java
@@ -340,7 +340,7 @@ public class FactoryHelper {
             return createInstanceWithContext( null );
         }
 
-         /**
+        /**
          * Creates an instance of the desired service.
          * <p>
          * @return  returns an instance of the desired service
@@ -354,7 +354,7 @@ public class FactoryHelper {
             return createInstanceWithArgumentsAndContext( args, null );
         }
 
-         /**
+        /**
          * Gives the supported services
          * <p>
          * @return  returns an array of supported services
@@ -364,7 +364,7 @@ public class FactoryHelper {
             return new String[]{_serviceName};
         }
 
-         /**
+        /**
          * Gives the implementation name
          * <p>
          * @return  returns the implementation name
@@ -374,7 +374,7 @@ public class FactoryHelper {
             return _implName;
         }
 
-         /**
+        /**
          * Indicates if the given service is supported.
          * <p>
          * @return  returns true if the given service is supported
@@ -507,16 +507,16 @@ public class FactoryHelper {
     static public boolean writeRegistryServiceInfo(String implName, String serviceName, XRegistryKey regKey) {
         boolean result = false;
 
-          try {
+        try {
             XRegistryKey newKey = regKey.createKey("/" + implName + "/UNO/SERVICES");
 
             newKey.createKey(serviceName);
 
             result = true;
-          }
-          catch (Exception ex) {
-              System.err.println(">>>Connection_Impl.writeRegistryServiceInfo " + ex);
-          }
+        }
+        catch (Exception ex) {
+            System.err.println(">>>Connection_Impl.writeRegistryServiceInfo " + ex);
+        }
 
         return result;
     }
@@ -532,7 +532,7 @@ public class FactoryHelper {
     public static boolean writeRegistryServiceInfo(
         String impl_name, String supported_services [], XRegistryKey xKey )
     {
-          try
+        try
         {
             XRegistryKey xNewKey = xKey.createKey( "/" + impl_name + "/UNO/SERVICES" );
             for ( int nPos = 0; nPos < supported_services.length; ++nPos )
@@ -540,8 +540,8 @@ public class FactoryHelper {
                 xNewKey.createKey( supported_services[ nPos ] );
             }
             return true;
-          }
-          catch (com.sun.star.registry.InvalidRegistryException exc)
+        }
+        catch (com.sun.star.registry.InvalidRegistryException exc)
         {
             if (DEBUG)
             {
@@ -549,7 +549,7 @@ public class FactoryHelper {
                     "##### " + Factory.class.getName() + ".writeRegistryServiceInfo -- exc: " +
                     exc.toString() );
             }
-          }
+        }
         return false;
     }
 
diff --git a/jurt/com/sun/star/comp/loader/JavaLoader.java b/jurt/java/jurt/src/main/java/com/sun/star/comp/loader/JavaLoader.java
similarity index 99%
rename from jurt/com/sun/star/comp/loader/JavaLoader.java
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/loader/JavaLoader.java
index 67c2e78ebbf5..1757c92c4d01 100644
--- a/jurt/com/sun/star/comp/loader/JavaLoader.java
+++ b/jurt/java/jurt/src/main/java/com/sun/star/comp/loader/JavaLoader.java
@@ -320,7 +320,7 @@ public class JavaLoader implements XImplementationLoader,
         Method compfac_method = null;
         try
         {
-             compfac_method = clazz.getMethod(
+            compfac_method = clazz.getMethod(
                 "__getComponentFactory", new Class [] { String.class } );
         }
         catch ( NoSuchMethodException noSuchMethodEx) {}
@@ -429,7 +429,7 @@ public class JavaLoader implements XImplementationLoader,
         }
         catch (Exception e) {
             throw new CannotRegisterImplementationException( e.getMessage());
-         }
+        }
 
         return success;
     }
diff --git a/jurt/com/sun/star/comp/loader/JavaLoaderFactory.java b/jurt/java/jurt/src/main/java/com/sun/star/comp/loader/JavaLoaderFactory.java
similarity index 100%
rename from jurt/com/sun/star/comp/loader/JavaLoaderFactory.java
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/loader/JavaLoaderFactory.java
diff --git a/jurt/com/sun/star/comp/loader/RegistrationClassFinder.java b/jurt/java/jurt/src/main/java/com/sun/star/comp/loader/RegistrationClassFinder.java
similarity index 100%
rename from jurt/com/sun/star/comp/loader/RegistrationClassFinder.java
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/loader/RegistrationClassFinder.java
diff --git a/jurt/com/sun/star/comp/loader/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/comp/loader/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/comp/loader/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/loader/makefile.mk
diff --git a/jurt/com/sun/star/comp/servicemanager/ServiceManager.java b/jurt/java/jurt/src/main/java/com/sun/star/comp/servicemanager/ServiceManager.java
similarity index 97%
rename from jurt/com/sun/star/comp/servicemanager/ServiceManager.java
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/servicemanager/ServiceManager.java
index 35addc2fafcf..0c915ffa5256 100644
--- a/jurt/com/sun/star/comp/servicemanager/ServiceManager.java
+++ b/jurt/java/jurt/src/main/java/com/sun/star/comp/servicemanager/ServiceManager.java
@@ -122,7 +122,7 @@ public class ServiceManager implements XMultiServiceFactory,
      * @param      multiFactory references of the <code>MultiServiceFactory</code>. This parameter will be ignored.
      * @param      regKey       the root key of the registry. This parameter will be ignored.
      */
-      public static XSingleServiceFactory getServiceFactory( String implName,
+    public static XSingleServiceFactory getServiceFactory( String implName,
                                                            XMultiServiceFactory multiFactory,
                                                            XRegistryKey regKey)
     {
@@ -141,7 +141,7 @@ public class ServiceManager implements XMultiServiceFactory,
      */
     private XImplementationLoader getLoader()
                 throws  com.sun.star.uno.Exception,
-                          com.sun.star.uno.RuntimeException
+                        com.sun.star.uno.RuntimeException
     {
         Object[] param = { this };
         DEBUG("make loader");
@@ -480,10 +480,10 @@ public class ServiceManager implements XMultiServiceFactory,
         if (xListener == null)
             throw new com.sun.star.uno.RuntimeException("Listener must not be null");
 
-          if ( eventListener.contains(xListener) )
-              throw new com.sun.star.uno.RuntimeException("Listener already registred.");
+        if ( eventListener.contains(xListener) )
+            throw new com.sun.star.uno.RuntimeException("Listener already registred.");
 
-           eventListener.addElement(xListener);
+        eventListener.addElement(xListener);
     }
 
     /**
@@ -500,8 +500,8 @@ public class ServiceManager implements XMultiServiceFactory,
         if (xListener == null)
             throw new com.sun.star.uno.RuntimeException("Listener must not be null");
 
-          if ( !eventListener.contains(xListener) )
-              throw new com.sun.star.uno.RuntimeException("Listener is not registered.");
+        if ( !eventListener.contains(xListener) )
+            throw new com.sun.star.uno.RuntimeException("Listener is not registered.");
 
         eventListener.removeElement(xListener);
     }
@@ -828,7 +828,7 @@ class ServiceManagerFactory implements  XServiceInfo, XSingleComponentFactory, X
      * Supplies the implementation name of the <code>ServiceManager</code>.
      * <p>
      * @return      <code>ServiceManager</code> class name.
-      * @see         com.sun.star.lang.XServiceInfo
+     * @see         com.sun.star.lang.XServiceInfo
      */
     public String getImplementationName()
             throws com.sun.star.uno.RuntimeException
@@ -841,7 +841,7 @@ class ServiceManagerFactory implements  XServiceInfo, XSingleComponentFactory, X
      * <p>
      * @return      true - if the service is supported, otherwise false.
      * @param       serviceName     the name of the service that should be checked.
-      * @see         com.sun.star.lang.XServiceInfo
+     * @see         com.sun.star.lang.XServiceInfo
      */
     public boolean supportsService( String serviceName )
             throws com.sun.star.uno.RuntimeException
@@ -857,7 +857,7 @@ class ServiceManagerFactory implements  XServiceInfo, XSingleComponentFactory, X
      * Returns all service names which are supported by <code>ServiceManager</code>.
      * <p>
      * @return      a list aof all supported service names.
-      * @see         com.sun.star.lang.XServiceInfo
+     * @see         com.sun.star.lang.XServiceInfo
      */
     public String[] getSupportedServiceNames()
             throws com.sun.star.uno.RuntimeException
@@ -869,7 +869,7 @@ class ServiceManagerFactory implements  XServiceInfo, XSingleComponentFactory, X
      * Creates a new instance of the <code>ServiceManager</code>.
      * <p>
      * @return      newly created <code>ServiceManager</code> object.
-      * @see         com.sun.star.lang.XSingleServiceFactory
+     * @see         com.sun.star.lang.XSingleServiceFactory
      */
     public java.lang.Object createInstance()
             throws com.sun.star.uno.Exception,
@@ -886,7 +886,7 @@ class ServiceManagerFactory implements  XServiceInfo, XSingleComponentFactory, X
      * <p>
      * @return      null - always throws an exception
      * @param       aArguments arguments for new instance.
-      * @see         com.sun.star.lang.XSingleServiceFactory
+     * @see         com.sun.star.lang.XSingleServiceFactory
      */
     public java.lang.Object createInstanceWithArguments( java.lang.Object[] aArguments )
             throws com.sun.star.uno.Exception,
diff --git a/jurt/com/sun/star/comp/servicemanager/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/comp/servicemanager/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/comp/servicemanager/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/servicemanager/makefile.mk
diff --git a/jurt/com/sun/star/comp/urlresolver/UrlResolver.java b/jurt/java/jurt/src/main/java/com/sun/star/comp/urlresolver/UrlResolver.java
similarity index 99%
rename from jurt/com/sun/star/comp/urlresolver/UrlResolver.java
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/urlresolver/UrlResolver.java
index a80ef46df016..fd3e981893c1 100644
--- a/jurt/com/sun/star/comp/urlresolver/UrlResolver.java
+++ b/jurt/java/jurt/src/main/java/com/sun/star/comp/urlresolver/UrlResolver.java
@@ -142,7 +142,7 @@ public class UrlResolver {
     {
         XSingleServiceFactory xSingleServiceFactory = null;
 
-          if (implName.equals(UrlResolver.class.getName()) )
+        if (implName.equals(UrlResolver.class.getName()) )
             xSingleServiceFactory = FactoryHelper.getServiceFactory(_UrlResolver.class,
                                                                     _UrlResolver.__serviceName,
                                                                     multiFactory,
diff --git a/jurt/com/sun/star/comp/urlresolver/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/comp/urlresolver/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/comp/urlresolver/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/comp/urlresolver/makefile.mk
diff --git a/jurt/com/sun/star/lib/connections/pipe/PipeConnection.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/connections/pipe/PipeConnection.java
similarity index 98%
rename from jurt/com/sun/star/lib/connections/pipe/PipeConnection.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/connections/pipe/PipeConnection.java
index faf6d51ab5d6..22bfdb45d2f1 100644
--- a/jurt/com/sun/star/lib/connections/pipe/PipeConnection.java
+++ b/jurt/java/jurt/src/main/java/com/sun/star/lib/connections/pipe/PipeConnection.java
@@ -90,7 +90,7 @@ public class PipeConnection implements XConnection, XConnectionBroadcaster {
             if ( !aPipeNameParam.substring( 0, 5 ).equals( "name=" ) )
                 throw new RuntimeException( "invalid pipe descriptor: no 'name=' parameter found" );
             aPipeName = aPipeNameParam.substring( 5 );
-             }
+            }
         else
             throw new RuntimeException( "invalid or empty pipe descriptor" );
 
@@ -218,7 +218,7 @@ public class PipeConnection implements XConnection, XConnectionBroadcaster {
      * Gives a description of the connection.
      * <p>
      * @return  the description
-      * @see       com.sun.star.connections.XConnection#getDescription
+     * @see       com.sun.star.connections.XConnection#getDescription
      */
     public String getDescription() throws com.sun.star.uno.RuntimeException {
         return _aDescription;
diff --git a/jurt/com/sun/star/lib/connections/pipe/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/lib/connections/pipe/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/lib/connections/pipe/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/connections/pipe/makefile.mk
diff --git a/jurt/com/sun/star/lib/connections/pipe/pipeAcceptor.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/connections/pipe/pipeAcceptor.java
similarity index 100%
rename from jurt/com/sun/star/lib/connections/pipe/pipeAcceptor.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/connections/pipe/pipeAcceptor.java
diff --git a/jurt/com/sun/star/lib/connections/pipe/pipeConnector.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/connections/pipe/pipeConnector.java
similarity index 100%
rename from jurt/com/sun/star/lib/connections/pipe/pipeConnector.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/connections/pipe/pipeConnector.java
diff --git a/jurt/com/sun/star/lib/connections/socket/ConnectionDescriptor.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/connections/socket/ConnectionDescriptor.java
similarity index 100%
rename from jurt/com/sun/star/lib/connections/socket/ConnectionDescriptor.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/connections/socket/ConnectionDescriptor.java
diff --git a/jurt/com/sun/star/lib/connections/socket/SocketConnection.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/connections/socket/SocketConnection.java
similarity index 100%
rename from jurt/com/sun/star/lib/connections/socket/SocketConnection.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/connections/socket/SocketConnection.java
diff --git a/jurt/com/sun/star/lib/connections/socket/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/lib/connections/socket/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/lib/connections/socket/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/connections/socket/makefile.mk
diff --git a/jurt/com/sun/star/lib/connections/socket/socketAcceptor.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/connections/socket/socketAcceptor.java
similarity index 100%
rename from jurt/com/sun/star/lib/connections/socket/socketAcceptor.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/connections/socket/socketAcceptor.java
diff --git a/jurt/com/sun/star/lib/connections/socket/socketConnector.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/connections/socket/socketConnector.java
similarity index 100%
rename from jurt/com/sun/star/lib/connections/socket/socketConnector.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/connections/socket/socketConnector.java
diff --git a/jurt/com/sun/star/lib/uno/Proxy.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/Proxy.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/Proxy.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/Proxy.java
diff --git a/jurt/com/sun/star/lib/uno/bridges/java_remote/BridgedObject.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/BridgedObject.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/bridges/java_remote/BridgedObject.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/BridgedObject.java
diff --git a/jurt/com/sun/star/lib/uno/bridges/java_remote/ProxyFactory.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/ProxyFactory.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/bridges/java_remote/ProxyFactory.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/ProxyFactory.java
diff --git a/jurt/com/sun/star/lib/uno/bridges/java_remote/RequestHandler.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/RequestHandler.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/bridges/java_remote/RequestHandler.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/RequestHandler.java
diff --git a/jurt/com/sun/star/lib/uno/bridges/java_remote/XConnectionInputStream_Adapter.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/XConnectionInputStream_Adapter.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/bridges/java_remote/XConnectionInputStream_Adapter.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/XConnectionInputStream_Adapter.java
diff --git a/jurt/com/sun/star/lib/uno/bridges/java_remote/XConnectionOutputStream_Adapter.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/XConnectionOutputStream_Adapter.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/bridges/java_remote/XConnectionOutputStream_Adapter.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/XConnectionOutputStream_Adapter.java
diff --git a/jurt/com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java
diff --git a/jurt/com/sun/star/lib/uno/bridges/java_remote/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/lib/uno/bridges/java_remote/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/bridges/java_remote/makefile.mk
diff --git a/jurt/com/sun/star/lib/uno/environments/java/java_environment.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/java/java_environment.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/java/java_environment.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/java/java_environment.java
diff --git a/jurt/com/sun/star/lib/uno/environments/java/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/java/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/java/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/java/makefile.mk
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/IProtocol.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/IProtocol.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/remote/IProtocol.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/IProtocol.java
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/IReceiver.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/IReceiver.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/remote/IReceiver.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/IReceiver.java
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/IThreadPool.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/IThreadPool.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/remote/IThreadPool.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/IThreadPool.java
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/JavaThreadPool.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/JavaThreadPool.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/remote/JavaThreadPool.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/JavaThreadPool.java
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/JavaThreadPoolFactory.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/JavaThreadPoolFactory.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/remote/JavaThreadPoolFactory.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/JavaThreadPoolFactory.java
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/Job.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/Job.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/remote/Job.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/Job.java
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/JobQueue.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/JobQueue.java
similarity index 98%
rename from jurt/com/sun/star/lib/uno/environments/remote/JobQueue.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/JobQueue.java
index 0ffc99131a11..09ddc0d0d25b 100644
--- a/jurt/com/sun/star/lib/uno/environments/remote/JobQueue.java
+++ b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/JobQueue.java
@@ -87,7 +87,7 @@ public class JobQueue {
             if(DEBUG) System.err.println("ThreadPool$JobDispatcher.run: " + Thread.currentThread());
 
             try {
-                  enter(2000, _disposeId);
+                enter(2000, _disposeId);
             }
             catch(Throwable throwable) {
                 if(_head != null || _active) { // there was a job in progress, so give a stack
@@ -219,7 +219,7 @@ public class JobQueue {
                     wait(waitTime);
                 }
                 catch(InterruptedException interruptedException) {
-                      throw new com.sun.star.uno.RuntimeException(getClass().getName() + ".removeJob - unexpected:" + interruptedException);
+                    throw new com.sun.star.uno.RuntimeException(getClass().getName() + ".removeJob - unexpected:" + interruptedException);
                 }
 
                 // signal that we have already waited once
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/Message.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/Message.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/remote/Message.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/Message.java
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/NativeThreadPool.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/NativeThreadPool.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/remote/NativeThreadPool.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/NativeThreadPool.java
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/ThreadId.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/ThreadId.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/remote/ThreadId.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/ThreadId.java
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/ThreadPoolManager.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/ThreadPoolManager.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/remote/ThreadPoolManager.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/ThreadPoolManager.java
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/remote/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/makefile.mk
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/remote_environment.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/remote_environment.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/environments/remote/remote_environment.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/environments/remote/remote_environment.java
diff --git a/jurt/com/sun/star/lib/uno/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/lib/uno/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/makefile.mk
diff --git a/jurt/com/sun/star/lib/uno/protocols/urp/Cache.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/Cache.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/protocols/urp/Cache.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/Cache.java
diff --git a/jurt/com/sun/star/lib/uno/protocols/urp/Marshal.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/Marshal.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/protocols/urp/Marshal.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/Marshal.java
diff --git a/jurt/com/sun/star/lib/uno/protocols/urp/PendingRequests.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/PendingRequests.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/protocols/urp/PendingRequests.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/PendingRequests.java
diff --git a/jurt/com/sun/star/lib/uno/protocols/urp/Unmarshal.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/Unmarshal.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/protocols/urp/Unmarshal.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/Unmarshal.java
diff --git a/jurt/com/sun/star/lib/uno/protocols/urp/UrpMessage.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/UrpMessage.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/protocols/urp/UrpMessage.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/UrpMessage.java
diff --git a/jurt/com/sun/star/lib/uno/protocols/urp/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/lib/uno/protocols/urp/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/makefile.mk
diff --git a/jurt/com/sun/star/lib/uno/protocols/urp/urp.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/urp.java
similarity index 100%
rename from jurt/com/sun/star/lib/uno/protocols/urp/urp.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/uno/protocols/urp/urp.java
diff --git a/jurt/com/sun/star/lib/util/AsynchronousFinalizer.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/util/AsynchronousFinalizer.java
similarity index 100%
rename from jurt/com/sun/star/lib/util/AsynchronousFinalizer.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/util/AsynchronousFinalizer.java
diff --git a/jurt/com/sun/star/lib/util/NativeLibraryLoader.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/util/NativeLibraryLoader.java
similarity index 100%
rename from jurt/com/sun/star/lib/util/NativeLibraryLoader.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/util/NativeLibraryLoader.java
diff --git a/jurt/com/sun/star/lib/util/StringHelper.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/util/StringHelper.java
similarity index 100%
rename from jurt/com/sun/star/lib/util/StringHelper.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/util/StringHelper.java
diff --git a/jurt/com/sun/star/lib/util/UrlToFileMapper.java b/jurt/java/jurt/src/main/java/com/sun/star/lib/util/UrlToFileMapper.java
similarity index 100%
rename from jurt/com/sun/star/lib/util/UrlToFileMapper.java
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/util/UrlToFileMapper.java
diff --git a/jurt/com/sun/star/lib/util/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/lib/util/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/lib/util/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/lib/util/makefile.mk
diff --git a/jurt/com/sun/star/uno/AnyConverter.java b/jurt/java/jurt/src/main/java/com/sun/star/uno/AnyConverter.java
similarity index 100%
rename from jurt/com/sun/star/uno/AnyConverter.java
rename to jurt/java/jurt/src/main/java/com/sun/star/uno/AnyConverter.java
diff --git a/jurt/com/sun/star/uno/Ascii.java b/jurt/java/jurt/src/main/java/com/sun/star/uno/Ascii.java
similarity index 100%
rename from jurt/com/sun/star/uno/Ascii.java
rename to jurt/java/jurt/src/main/java/com/sun/star/uno/Ascii.java
diff --git a/jurt/com/sun/star/uno/AsciiString.java b/jurt/java/jurt/src/main/java/com/sun/star/uno/AsciiString.java
similarity index 100%
rename from jurt/com/sun/star/uno/AsciiString.java
rename to jurt/java/jurt/src/main/java/com/sun/star/uno/AsciiString.java
diff --git a/jurt/com/sun/star/uno/MappingException.java b/jurt/java/jurt/src/main/java/com/sun/star/uno/MappingException.java
similarity index 100%
rename from jurt/com/sun/star/uno/MappingException.java
rename to jurt/java/jurt/src/main/java/com/sun/star/uno/MappingException.java
diff --git a/jurt/com/sun/star/uno/WeakReference.java b/jurt/java/jurt/src/main/java/com/sun/star/uno/WeakReference.java
similarity index 100%
rename from jurt/com/sun/star/uno/WeakReference.java
rename to jurt/java/jurt/src/main/java/com/sun/star/uno/WeakReference.java
diff --git a/jurt/com/sun/star/uno/makefile.mk b/jurt/java/jurt/src/main/java/com/sun/star/uno/makefile.mk
similarity index 100%
rename from jurt/com/sun/star/uno/makefile.mk
rename to jurt/java/jurt/src/main/java/com/sun/star/uno/makefile.mk
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java b/jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/Cache_Test.java
similarity index 100%
rename from jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java
rename to jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/Cache_Test.java
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java b/jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java
similarity index 100%
rename from jurt/test/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java
rename to jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java b/jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java
similarity index 100%
rename from jurt/test/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java
rename to jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/TestBridge.java b/jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/TestBridge.java
similarity index 100%
rename from jurt/test/com/sun/star/lib/uno/protocols/urp/TestBridge.java
rename to jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/TestBridge.java
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/TestObject.java b/jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/TestObject.java
similarity index 100%
rename from jurt/test/com/sun/star/lib/uno/protocols/urp/TestObject.java
rename to jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/TestObject.java
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/interfaces.idl b/jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/interfaces.idl
similarity index 100%
rename from jurt/test/com/sun/star/lib/uno/protocols/urp/interfaces.idl
rename to jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/interfaces.idl
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/makefile.mk b/jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/makefile.mk
similarity index 100%
rename from jurt/test/com/sun/star/lib/uno/protocols/urp/makefile.mk
rename to jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/makefile.mk
diff --git a/jurt/prj/build.lst b/jurt/prj/build.lst
index 6ba92a9ec6b6..8924dff2ad18 100644
--- a/jurt/prj/build.lst
+++ b/jurt/prj/build.lst
@@ -1,20 +1,2 @@
-ju  jurt : ridljar sal NULL
-ju	jurt									usr1	-	all	ju_mkout NULL
-ju	jurt\com\sun\star\lib\util				nmake	-	all	ju_libutil NULL
-ju	jurt\com\sun\star\uno					nmake	-	all	ju_uno NULL
-ju	jurt\com\sun\star\comp\loader			nmake	-	all	ju_co_loader ju_uno ju_libutil NULL
-ju	jurt\com\sun\star\comp\bridgefactory	nmake	-	all	ju_co_bfactr ju_co_loader NULL
-ju  jurt\com\sun\star\lib\uno               nmake   -   all ju_cssl_uno NULL
-ju	jurt\com\sun\star\lib\uno\environments\java			nmake	-	all	ju_env_java ju_cssl_uno NULL
-ju	jurt\com\sun\star\lib\uno\environments\remote		nmake	-	all	ju_env_remote ju_env_java NULL
-ju	jurt\com\sun\star\lib\uno\protocols\urp	nmake	-	all	ju_prot_urp ju_env_remote NULL
-ju	jurt\com\sun\star\lib\uno\bridges\java_remote		nmake	-	all	ju_brid_jrm ju_co_loader ju_cssl_uno ju_env_remote NULL
-ju	jurt\com\sun\star\lib\connections\socket			nmake	-	all	ju_con_sock ju_co_loader NULL
-ju	jurt\com\sun\star\lib\connections\pipe			nmake	-	all	ju_con_pipe ju_co_loader ju_libutil NULL
-ju	jurt\com\sun\star\comp\connections		nmake	-	all	ju_con ju_co_loader NULL
-ju	jurt\com\sun\star\comp\servicemanager	nmake	-	all	ju_servman NULL
-ju	jurt\com\sun\star\comp\urlresolver		nmake	-	all	ju_urlres ju_co_loader NULL
-ju	jurt\source\pipe			nmake	-	all	ju_src_pipe NULL
-ju  jurt\source\pipe\wrapper nmake - w ju_src_pipe_wrapper NULL
-ju	jurt\util								nmake	-	all	ju_ut ju_brid_jrm ju_co_bfactr ju_con ju_con_sock ju_con_pipe ju_cssl_uno ju_env_java ju_prot_urp ju_servman ju_urlres ju_src_pipe ju_libutil ju_uno NULL
-ju jurt\test\com\sun\star\lib\uno\protocols\urp nmake - all ju_test_css_lib_uno_protocols_urp NULL
+ju  jurt : ridljar offapi sal NULL
+ju	jurt\prj								nmake	-	all	ju_prj NULL
diff --git a/jurt/prj/d.lst b/jurt/prj/d.lst
index 74f5b60d7748..e69de29bb2d1 100644
--- a/jurt/prj/d.lst
+++ b/jurt/prj/d.lst
@@ -1,8 +0,0 @@
-..\%__SRC%\class\jurt.jar %_DEST%\bin%_EXT%\jurt.jar
-..\%__SRC%\bin\jpipe.dll %_DEST%\bin%_EXT%\jpipe.dll
-..\%__SRC%\bin\jpipx.dll %_DEST%\bin%_EXT%\jpipx.dll
-..\%__SRC%\lib\libjpipe*.so %_DEST%\lib%_EXT%\libjpipe*.so
-..\%__SRC%\lib\libjpipe*.dylib %_DEST%\lib%_EXT%\libjpipe*.dylib
-..\%__SRC%\lib\libjpipe*.jnilib %_DEST%\lib%_EXT%\libjpipe*.jnilib
-
-..\%__SRC%\bin\jurt_src.zip %COMMON_DEST%\bin%_EXT%\jurt_src.zip
diff --git a/odk/pack/gendocu/makefile.mk b/odk/pack/gendocu/makefile.mk
index 4024dedc8951..ba8ff2c8cf0e 100644
--- a/odk/pack/gendocu/makefile.mk
+++ b/odk/pack/gendocu/makefile.mk
@@ -99,7 +99,7 @@ $(CPP_DOCU_INDEX_FILE) : $(CPP_DOCU_CLEANUP_FLAG)
     -rm $(@:d:d)$/cpp.css
     $(MY_TEXTCOPY) $(MY_TEXTCOPY_SOURCEPRE) $(PRJ)$/docs$/cpp$/ref$/cpp.css $(MY_TEXTCOPY_TARGETPRE) $(@:d:d)$/cpp.css
 
-$(JAVA_SRC_FILES) : $(SOLARCOMMONBINDIR)$/jurt_src.zip $(SOLARCOMMONBINDIR)$/ridl_src.zip $(SOLARCOMMONBINDIR)$/unoloader_src.zip $(SOLARCOMMONPCKDIR)$/juh_src.zip
+$(JAVA_SRC_FILES) : $(SOLARCOMMONPCKDIR)$/jurt_src.zip $(SOLARCOMMONBINDIR)$/ridl_src.zip $(SOLARCOMMONBINDIR)$/unoloader_src.zip $(SOLARCOMMONPCKDIR)$/juh_src.zip
     -$(MKDIRHIER) $(@:d)        
     $(MY_COPY) $^ $(JAVA_SRC_DIR)
     cd $(JAVA_SRC_DIR) && unzip -qu jurt_src.zip && unzip -qu ridl_src.zip && unzip -qu unoloader_src.zip && unzip -qu juh_src.zip
diff --git a/solenv/ant/aoo-ant.xml b/solenv/ant/aoo-ant.xml
new file mode 100644
index 000000000000..7e9b79e7b38f
--- /dev/null
+++ b/solenv/ant/aoo-ant.xml
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--***********************************************************
+ *
+ * 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.
+ *
+ ***********************************************************-->
+
+
+<project name="aoo-ant" default="main" xmlns:if="ant:if" xmlns:unless="ant:unless">
+
+    <!-- ================================================================= -->
+    <!-- settings                                                          -->
+    <!-- ================================================================= -->
+
+    <dirname property="aoo-ant.basedir" file="${ant.file.aoo-ant}"/>
+
+    <!-- global properties -->
+    <property file="${aoo-ant.basedir}/../../ant.properties"/>
+    <!-- RSCREVISION: -->
+    <property file="${aoo-ant.basedir}/../inc/minor.mk"/>
+
+    <property name="build.base.dir" location="${WORKDIR}/Ant/${ant.project.name}"/>
+    <property name="main.src.dir" location="src/main/java"/>
+    <property name="main.build.dir" location="${build.base.dir}/main"/>
+    <property name="test.src.dir" location="src/test/java"/>
+    <property name="test.build.dir" location="${build.base.dir}/test"/>
+    <property name="test.reports.dir" location="${build.base.dir}/test-reports"/>
+    <property name="jar.dir" location="${WORKDIR}/Ant"/>
+
+    <property name="main.debug" value="true"/>
+    <property name="main.deprecation" value="false"/>
+    <property name="test.debug" value="true"/>
+    <property name="test.deprecation" value="false"/>
+
+    <import file="${aoo-ant.basedir}/externals.xml"/>
+    <import file="${aoo-ant.basedir}/idl.xml"/>
+
+    <target name="init-project"/>
+
+    <target name="prepare" depends="init-project">
+        <property name="jar.enabled" value="true"/>
+        <property name="jar.name" value="${ant.project.name}"/>
+        <property name="jar.classpath" value=""/>
+        <property name="jar.manifest" value ="${aoo-ant.basedir}/manifest.empty"/>
+
+        <local name="has.main.classpath"/>
+        <condition property="has.main.classpath">
+            <isreference refid="main.classpath"/>
+        </condition>
+        <path id="main.classpath" unless:set="has.main.classpath"/>
+
+        <local name="has.test.classpath"/>
+        <condition property="has.test.classpath">
+            <isreference refid="test.classpath"/>
+        </condition>
+        <path id="internal.test.classpath">
+            <pathelement location="${main.build.dir}"/>
+            <pathelement location="${test.build.dir}"/>
+            <path refid="main.classpath"/>
+            <path refid="test.classpath" if:set="has.test.classpath"/>
+            <pathelement location="${idl.classes.build.dir}"/>
+            <pathelement location="${OOO_JUNIT_JAR}"/>
+        </path>
+
+        <local name="has.idl.files"/>
+        <condition property="has.idl.files">
+            <isreference refid="idl.files"/>
+        </condition>
+        <filelist id="idl.files" unless:set="has.idl.files">
+            <filelist refid="idl.files"/>
+        </filelist>
+    </target>
+
+    <target name="res" depends="prepare">
+        <mkdir dir="${main.build.dir}"/>
+        <copy todir="${main.build.dir}">
+             <fileset dir="${main.src.dir}">
+                 <include name="**/*.properties"/>
+                 <include name="**/*.css"/>
+                 <include name="**/*.dtd"/>
+                 <include name="**/*.form"/>
+                 <include name="**/*.gif "/>
+                 <include name="**/*.htm"/>
+                 <include name="**/*.html"/>
+                 <include name="**/*.js"/>
+                 <include name="**/*.mod"/>
+                 <include name="**/*.sql"/>
+                 <include name="**/*.xml"/>
+                 <include name="**/*.xsl"/>
+                 <include name="**/*.map"/>
+             </fileset>
+        </copy>
+    </target>
+
+    <target name="compile" depends="prepare,res">
+        <mkdir dir="${main.build.dir}"/>
+        <javac srcdir="${main.src.dir}"
+               destdir="${main.build.dir}"
+               debug="${main.debug}"
+               debuglevel="lines,vars,source"
+               deprecation="${main.deprecation}"
+               classpathref="main.classpath"
+               includeantruntime="false"/>
+    </target>
+
+    <target name="test-compile" depends="compile,idl">
+        <property property="test.skip" value="true" if:blank="${OOO_JUNIT_JAR}"/>
+        <echo message="No junit, skipping tests" if:blank="${OOO_JUNIT_JAR}"/>
+
+        <mkdir dir="${test.build.dir}" unless:blank="${OOO_JUNIT_JAR}"/>
+        <javac srcdir="${test.src.dir}"
+               destdir="${test.build.dir}"
+               debug="${test.debug}"
+               debuglevel="lines,vars,source"
+               deprecation="${test.deprecation}"
+               classpathref="internal.test.classpath"
+               includeantruntime="false"
+               unless:blank="${OOO_JUNIT_JAR}"/>
+    </target>
+
+    <!-- fork="true" is sadly necessary on Ubuntu due to multiple versions of junit confusing Ant,
+         see https://github.com/real-logic/simple-binary-encoding/issues/96 -->
+    <target name="test" depends="test-compile" unless:set="${test.skip}">
+        <mkdir dir="${test.reports.dir}"/>
+        <junit printsummary="yes" haltonfailure="yes" showoutput="true" filtertrace="false" fork="true">
+            <classpath refid="internal.test.classpath"/>
+            <formatter type="plain"/>
+            <batchtest todir="${test.reports.dir}">
+                <fileset dir="${test.src.dir}">
+                    <include name="**/*_Test.java"/>
+                </fileset>
+            </batchtest>
+        </junit>
+    </target>
+
+    <target name="jar" depends="compile" if="${jar.enabled}">
+        <jar destfile="${jar.dir}/${jar.name}.jar"
+             basedir="${main.build.dir}"
+             manifest="${jar.manifest}">
+            <manifest>
+                <attribute name="Class-Path" value="${jar.classpath}" unless:blank="${jar.classpath}"/>
+                <attribute name="Solar-Version" value="${RSCREVISION}"/>
+            </manifest>
+            <include name="**/*.class"/>
+            <include name="**/*.properties"/>
+            <include name="**/*.css"/>
+            <include name="**/*.dtd"/>
+            <include name="**/*.form"/>
+            <include name="**/*.gif "/>
+            <include name="**/*.htm"/>
+            <include name="**/*.html"/>
+            <include name="**/*.js"/>
+            <include name="**/*.mod"/>
+            <include name="**/*.sql"/>
+            <include name="**/*.xml"/>
+            <include name="**/*.xsl"/>
+            <include name="**/*.map"/>
+        </jar>
+    </target>
+
+    <target name="clean" depends="prepare">
+        <delete dir="${build.base.dir}"/>
+        <delete file="${jar.dir}/${jar.name}.jar"/>
+    </target>
+
+    <target name="main" depends="test,jar"/>
+
+</project>
+
diff --git a/solenv/ant/externals.xml b/solenv/ant/externals.xml
new file mode 100644
index 000000000000..8965778e6875
--- /dev/null
+++ b/solenv/ant/externals.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--***********************************************************
+ *
+ * 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.
+ *
+ ***********************************************************-->
+
+<project name="externals">
+
+    <!-- Each external has 3 properties set, for example for "commons-lang":
+         external.commons-lang.internalfilename - the filename when built internally, eg. commons-lang3-3.3.jar
+         external.commons-lang.jarclasspath - the path to be placed in the "Class-Path:" entry in JAR files linking to this JAR
+         external.commons-lang.path - the full path to the JAR
+      -->
+
+    <dirname property="externals.basedir" file="${ant.file.externals}"/>
+
+    <!-- global properties -->
+    <property file="${externals.basedir}/../../ant.properties"/>
+
+    <macrodef name="define-external">
+        <attribute name="name"/>
+        <attribute name="system-test"/>
+        <attribute name="system-path"/>
+        <attribute name="internal-filename"/>
+        <sequential>
+            <property name="external.@{name}.internalfilename" value="@{internal-filename}"/>
+            <condition property="external.@{name}.jarclasspath" value="@{system-path}" else="${external.@{name}.internalfilename}">
+                <equals arg1="@{system-test}" arg2="YES"/>
+            </condition>
+            <condition property="external.@{name}.path" value="@{system-path}" else="${OUTDIR}/bin/${external.@{name}.internalfilename}">
+                <equals arg1="@{system-test}" arg2="YES"/>
+            </condition>
+        </sequential>
+    </macrodef>
+
+    <define-external
+        name="commons-codec"
+        system-test="${SYSTEM_APACHE_COMMONS}"
+        system-path="${COMMONS_CODEC_JAR}"
+        internal-filename="commons-codec-1.9.jar"/>
+
+    <define-external
+        name="commons-httpclient"
+        system-test="${SYSTEM_APACHE_COMMONS}"
+        system-path="${COMMONS_HTTPCLIENT_JAR}"
+        internal-filename="commons-httpclient-3.1.jar"/>
+
+    <define-external
+        name="commons-lang"
+        system-test="${SYSTEM_APACHE_COMMONS}"
+        system-path="${COMMONS_LANG_JAR}"
+        internal-filename="commons-lang3-3.3.jar"/>
+
+    <define-external
+        name="commons-logging"
+        system-test="${SYSTEM_APACHE_COMMONS}"
+        system-path="${COMMONS_LOGGING_JAR}"
+        internal-filename="commons-logging-1.1.3.jar"/>
+
+</project>
diff --git a/solenv/ant/idl.xml b/solenv/ant/idl.xml
new file mode 100644
index 000000000000..0325c9a7a722
--- /dev/null
+++ b/solenv/ant/idl.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--***********************************************************
+ *
+ * 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.
+ *
+ ***********************************************************-->
+
+
+<project name="idl" xmlns:if="ant:if" xmlns:unless="ant:unless">
+
+    <dirname property="idl.basedir" file="${ant.file.idl}"/>
+
+    <!-- global properties -->
+    <property file="${idl.basedir}/../../ant.properties"/>
+
+
+
+    <property name="idl.build.dir" location="${build.base.dir}/idl"/>
+    <property name="idl.urd.build.dir" location="${idl.build.dir}/urd"/>
+    <property name="idl.rdb.build.dir" location="${idl.build.dir}/rdb"/>
+    <property name="idl.classes.build.dir" location="${idl.build.dir}/classes"/>
+    <property name="idl.javamaker.flag" location="${idl.build.dir}/idl.javamaker.flag"/>
+
+    <target name="idl" depends="idl-check,idl-javamaker"/>
+
+    <target name="idl-check">
+        <local name="idl.files.exist"/>
+        <condition property="idl.files.exist">
+            <resourcecount refid="idl.files" when="greater" count="0"/>
+        </condition>
+
+        <local name="idl.files.union"/>
+        <union id="idl.files.union" if:set="idl.files.exist">
+            <filelist refid="idl.files"/>
+        </union>
+        <uptodate property="idl.uptodate" targetfile="${idl.javamaker.flag}" if:set="idl.files.exist">
+            <srcresources refid="idl.files.union"/>
+        </uptodate>
+        <property name="idl.uptodate" value="true" unless:set="idl.files.exist"/>
+    </target>
+
+    <target name="idl-javamaker" depends="idl-regmerge" unless="idl.uptodate">
+        <mkdir dir="${idl.classes.build.dir}"/>
+        <exec executable="${OUTDIR}/bin/javamaker" failonerror="true">
+            <env key="LD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
+            <env key="DYLD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
+            <arg value="-O${idl.classes.build.dir}"/>
+            <arg value="-BUCR"/>
+            <arg value="-nD"/>
+            <arg value="${idl.rdb.build.dir}/registry.rdb"/>
+            <arg value="-X${OUTDIR}/bin/types.rdb"/>
+        </exec>
+        <touch file="${idl.javamaker.flag}"/>
+    </target>
+
+    <target name="idl-regmerge" depends="idl-idlc" unless="idl.uptodate">
+        <mkdir dir="${idl.rdb.build.dir}"/>
+        <delete file="${idl.rdb.build.dir}/registry.rdb"/>
+        <apply executable="${OUTDIR}/bin/regmerge" failonerror="true">
+            <env key="LD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
+            <env key="DYLD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
+            <arg value="${idl.rdb.build.dir}/registry.rdb"/>
+            <arg value="/UCR"/>
+            <fileset dir="${idl.urd.build.dir}" includes="**/*.urd"/>
+        </apply>
+    </target>
+
+    <target name="idl-idlc" unless="idl.uptodate">
+        <mkdir dir="${idl.urd.build.dir}"/>
+        <apply executable="${OUTDIR}/bin/idlc" failonerror="true">
+            <env key="LD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
+            <env key="DYLD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
+            <arg value="-I${OUTDIR}/idl"/>
+            <arg value="-O"/>
+            <arg value="${idl.urd.build.dir}"/>
+            <arg value="-verbose"/>
+            <arg value="-cid"/>
+            <arg value="-we"/>
+            <filelist refid="idl.files"/>
+        </apply>
+    </target>
+
+</project>
+
diff --git a/solenv/ant/manifest.empty b/solenv/ant/manifest.empty
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/solenv/gbuild/Ant.mk b/solenv/gbuild/Ant.mk
new file mode 100644
index 000000000000..72b7e900f226
--- /dev/null
+++ b/solenv/gbuild/Ant.mk
@@ -0,0 +1,82 @@
+###############################################################
+#  
+#  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.
+#  
+###############################################################
+
+
+
+# Ant class
+
+gb_Ant_ANTCOMMAND := $(ANT)
+
+# clean target
+$(call gb_Ant_get_clean_target,%) :
+	$(call gb_Output_announce,$*,$(false),ANT,3)
+	$(call gb_Helper_abbreviate_dirs,\
+		rm -f $(call gb_Ant_get_target,$*) $(call gb_Jar_get_outdir_target,$*) && \
+		$(gb_Ant_ANTCOMMAND) -f $(ANTBUILDFILE) clean)
+
+# the outdir target depends on the workdir target and is built by delivering the latter
+
+# rule for creating the jar file
+# creates the target folder of the jar file if it doesn't exist
+# creates the jar file
+$(call gb_Ant_get_target,%) : FORCE
+	$(call gb_Output_announce,$*,$(true),ANT,3)
+	$(call gb_Helper_abbreviate_dirs_native,\
+	mkdir -p $(dir $@) && \
+	$(gb_Ant_ANTCOMMAND) -f $(ANTBUILDFILE) )
+
+FORCE:
+
+
+# registers target and clean target
+# adds jar files to DeliverLogTarget
+# adds dependency for outdir target to workdir target (pattern rule for delivery is in Package.mk)
+define gb_Ant_Ant
+$(call gb_Ant_get_target,$(1)) : ANTBUILDFILE := $(2)
+$(call gb_Ant_get_clean_target,$(1)) : ANTBUILDFILE := $(2)
+$(eval $(call gb_Module_register_target,$(call gb_Jar_get_outdir_target,$(1)),$(call gb_Ant_get_clean_target,$(1))))
+$(call gb_Deliver_add_deliverable,$(call gb_Jar_get_outdir_target,$(1)),$(call gb_Ant_get_target,$(1)),$(1))
+$(call gb_Jar_get_outdir_target,$(1)) : $(call gb_Ant_get_target,$(1))
+
+endef
+
+
+# possible directories for jar files containing UNO services 
+gb_Ant_COMPONENTPREFIXES := \
+    OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/classes/ \
+    URE:vnd.sun.star.expand:\dURE_INTERNAL_JAVA_DIR/ \
+    INTERN:vnd.sun.star.expand:\dOOO_INBUILD_JAVA_DIR/
+
+# get component prefix from layer name ("OOO", "URE", "INTERN")
+gb_Ant__get_componentprefix = \
+    $(patsubst $(1):%,%,$(or \
+        $(filter $(1):%,$(gb_Ant_COMPONENTPREFIXES)), \
+        $(call gb_Output_error,no ComponentTarget native prefix for layer '$(1)')))
+
+# layer must be specified explicitly in this macro (different to libraries)
+define gb_Ant_set_componentfile
+$(call gb_ComponentTarget_ComponentTarget,$(2),$(call gb_Ant__get_componentprefix,$(3)),$(notdir $(call gb_Ant_get_target,$(1))))
+$(call gb_Ant_get_target,$(1)) : $(call gb_ComponentTarget_get_outdir_target,$(2))
+$(call gb_Ant_get_clean_target,$(1)) : $(call gb_ComponentTarget_get_clean_target,$(2))
+
+endef
+
+# vim: set noet sw=4 ts=4:
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index 19795bf58bbb..8ec415f0597a 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -45,6 +45,7 @@ endef
 # workdir target patterns
 
 gb_AllLangResTarget_get_target = $(WORKDIR)/AllLangRes/$(1)
+gb_Ant_get_target = $(WORKDIR)/Ant/$(1).jar
 gb_CObject_get_target = $(WORKDIR)/CObject/$(1).o
 gb_ComponentTarget_get_target = $(WORKDIR)/ComponentTarget/$(1).component
 gb_ComponentTarget_get_inbuild_target = $(WORKDIR)/ComponentTarget/$(1).inbuild.component
@@ -109,6 +110,7 @@ endef
 
 $(eval $(call gb_Helper_make_clean_targets,\
 	AllLangResTarget \
+	Ant \
 	ComponentTarget \
 	JavaClassSet \
 	Jar \
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 0b39bb73afee..4770ae70fc71 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -254,6 +254,7 @@ include $(foreach class, \
 	CustomTarget \
 	PrecompiledHeaders \
 	GoogleTest \
+	Ant \
 	Jar \
 	JavaClassSet \
 	JunitTest \


More information about the Libreoffice-commits mailing list