You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2019/05/04 19:32:56 UTC
[plc4x] 06/07: - Fine tuned the build and integrated it to maven
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 01fc7a4632a0151fb4d012933cb0dba07215e3eb
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Sat May 4 21:31:34 2019 +0200
- Fine tuned the build and integrated it to maven
---
README | 16 +++--
plc4net/{plc4net => api}/PlcDriverManager.cs | 0
plc4net/api/api.csproj | 27 ++++++++
plc4net/{plc4net => api}/api/IPlcConnection.cs | 8 +--
plc4net/{plc4net => api}/api/IPlcDriver.cs | 0
.../api/authentication/IPlcAuthentication.cs | 0
.../PlcUsernamePasswordAuthentication.cs | 0
.../api/metadata/IPlcConnectionMetadata.cs | 0
.../exceptions/PlcConnectionException.cs | 0
.../{plc4net => api}/exceptions/PlcException.cs | 0
.../exceptions/PlcInvalidFieldException.cs | 0
.../{plc4net => api}/messages/IPlcFieldRequest.cs | 0
.../{plc4net => api}/messages/IPlcFieldResponse.cs | 0
plc4net/{plc4net => api}/messages/IPlcMessage.cs | 0
.../{plc4net => api}/messages/IPlcReadRequest.cs | 0
.../messages/IPlcReadRequestBuilder.cs | 0
.../{plc4net => api}/messages/IPlcReadResponse.cs | 0
plc4net/{plc4net => api}/messages/IPlcRequest.cs | 0
.../messages/IPlcRequestBuilder.cs | 0
plc4net/{plc4net => api}/messages/IPlcResponse.cs | 0
.../messages/IPlcSubscriptionEventArgs.cs | 0
.../messages/IPlcSubscriptionRequest.cs | 0
.../messages/IPlcSubscriptionRequestBuilder.cs | 0
.../messages/IPlcSubscriptionResponse.cs | 0
.../messages/IPlcUnsubscriptionRequest.cs | 0
.../messages/IPlcUnsubscriptionRequestBuilder.cs | 0
.../messages/IPlcUnsubscriptionResponse.cs | 0
.../{plc4net => api}/messages/IPlcWriteRequest.cs | 0
.../messages/IPlcWriteRequestBuilder.cs | 0
plc4net/{plc4net => api}/model/IPlcField.cs | 0
.../model/IPlcSubscriptionHandle.cs | 0
plc4net/api/pom.xml | 72 ++++++++++++++++++++++
plc4net/{plc4net => api}/types/PlcResponseCode.cs | 0
plc4net/plc4net.driver/IPlcDriver.cs | 10 ---
plc4net/plc4net.driver/plc4net.driver.csproj | 22 +++++++
plc4net/plc4net.driver/pom.xml | 68 ++++++++++++++++++++
plc4net/plc4net.sln | 22 ++++++-
plc4net/plc4net/plc4net.csproj | 10 ---
plc4net/pom.xml | 46 ++++++++++++++
pom.xml | 10 +++
40 files changed, 281 insertions(+), 30 deletions(-)
diff --git a/README b/README
index edd064d..a22df76 100644
--- a/README
+++ b/README
@@ -42,6 +42,10 @@ If you're building a source-distribution and haven't installed git yet, be sure
sudo get install git
+In order to build the .Net version, please install the .Net package according to this guide:
+
+https://dev.to/carlos487/installing-dotnet-core-in-ubuntu-1804-7lp
+
Mac
---
@@ -61,15 +65,19 @@ Install `Python 2.7`:
Be sure to re-open the command window or the changes will not apply.
+If you're going to build the `with-dotnet` profile you also need to install DotNet.
+Please download it from: https://dotnet.microsoft.com/download and run the installer.
+
Windows
-------
Some tools need to be installed before being able to build on Windows:
-- WinBuilds
-- Bison
-- Flex
-- Python 2.7
+- WinBuilds (for `with-cpp`, `with-proxies` profiles)
+- Bison (for `with-cpp` profiles)
+- Flex (for `with-cpp` profiles)
+- Python 2.7 (for `with-python`, `with-proxies` profiles)
+- Dotnet (for `with-dotnet` profiles)
He have tested WinBuilds with the bundle of: http://win-builds.org/doku.php/download_and_installation_from_windows
When running the installer, make sure to select the options:
diff --git a/plc4net/plc4net/PlcDriverManager.cs b/plc4net/api/PlcDriverManager.cs
similarity index 100%
rename from plc4net/plc4net/PlcDriverManager.cs
rename to plc4net/api/PlcDriverManager.cs
diff --git a/plc4net/api/api.csproj b/plc4net/api/api.csproj
new file mode 100644
index 0000000..eb00812
--- /dev/null
+++ b/plc4net/api/api.csproj
@@ -0,0 +1,27 @@
+<?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 Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <TargetFramework>netstandard2.0</TargetFramework>
+ <RootNamespace>org.apache.plc4net</RootNamespace>
+ </PropertyGroup>
+
+</Project>
diff --git a/plc4net/plc4net/api/IPlcConnection.cs b/plc4net/api/api/IPlcConnection.cs
similarity index 91%
rename from plc4net/plc4net/api/IPlcConnection.cs
rename to plc4net/api/api/IPlcConnection.cs
index 0b4ad43..cc22990 100644
--- a/plc4net/plc4net/api/IPlcConnection.cs
+++ b/plc4net/api/api/IPlcConnection.cs
@@ -66,24 +66,24 @@ namespace org.apache.plc4net.api
/// Request builder for constructing read requests
/// </summary>
/// <returns>null if the connection does not support reading</returns>
- IPlcReadRequestBuilder? ReadRequestBuilder { get; }
+ IPlcReadRequestBuilder ReadRequestBuilder { get; }
/// <summary>
/// Request builder for constructing write requests
/// </summary>
/// <returns>null if the connection does not support writing</returns>
- IPlcWriteRequestBuilder? WriteRequestBuilder { get; }
+ IPlcWriteRequestBuilder WriteRequestBuilder { get; }
/// <summary>
/// Request builder for constructing subscription requests
/// </summary>
/// <returns>null if the connection does not support subscriptions</returns>
- IPlcSubscriptionRequestBuilder? SubscriptionRequestBuilder { get; }
+ IPlcSubscriptionRequestBuilder SubscriptionRequestBuilder { get; }
/// <summary>
/// Request builder for unsubscribing
/// </summary>
/// <returns>null if the connection does not support subscriptions</returns>
- IPlcUnsubscriptionRequestBuilder? UnsubscriptionRequestBuilder { get; }
+ IPlcUnsubscriptionRequestBuilder UnsubscriptionRequestBuilder { get; }
}
}
\ No newline at end of file
diff --git a/plc4net/plc4net/api/IPlcDriver.cs b/plc4net/api/api/IPlcDriver.cs
similarity index 100%
rename from plc4net/plc4net/api/IPlcDriver.cs
rename to plc4net/api/api/IPlcDriver.cs
diff --git a/plc4net/plc4net/api/authentication/IPlcAuthentication.cs b/plc4net/api/api/authentication/IPlcAuthentication.cs
similarity index 100%
rename from plc4net/plc4net/api/authentication/IPlcAuthentication.cs
rename to plc4net/api/api/authentication/IPlcAuthentication.cs
diff --git a/plc4net/plc4net/api/authentication/PlcUsernamePasswordAuthentication.cs b/plc4net/api/api/authentication/PlcUsernamePasswordAuthentication.cs
similarity index 100%
rename from plc4net/plc4net/api/authentication/PlcUsernamePasswordAuthentication.cs
rename to plc4net/api/api/authentication/PlcUsernamePasswordAuthentication.cs
diff --git a/plc4net/plc4net/api/metadata/IPlcConnectionMetadata.cs b/plc4net/api/api/metadata/IPlcConnectionMetadata.cs
similarity index 100%
rename from plc4net/plc4net/api/metadata/IPlcConnectionMetadata.cs
rename to plc4net/api/api/metadata/IPlcConnectionMetadata.cs
diff --git a/plc4net/plc4net/exceptions/PlcConnectionException.cs b/plc4net/api/exceptions/PlcConnectionException.cs
similarity index 100%
rename from plc4net/plc4net/exceptions/PlcConnectionException.cs
rename to plc4net/api/exceptions/PlcConnectionException.cs
diff --git a/plc4net/plc4net/exceptions/PlcException.cs b/plc4net/api/exceptions/PlcException.cs
similarity index 100%
rename from plc4net/plc4net/exceptions/PlcException.cs
rename to plc4net/api/exceptions/PlcException.cs
diff --git a/plc4net/plc4net/exceptions/PlcInvalidFieldException.cs b/plc4net/api/exceptions/PlcInvalidFieldException.cs
similarity index 100%
rename from plc4net/plc4net/exceptions/PlcInvalidFieldException.cs
rename to plc4net/api/exceptions/PlcInvalidFieldException.cs
diff --git a/plc4net/plc4net/messages/IPlcFieldRequest.cs b/plc4net/api/messages/IPlcFieldRequest.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcFieldRequest.cs
rename to plc4net/api/messages/IPlcFieldRequest.cs
diff --git a/plc4net/plc4net/messages/IPlcFieldResponse.cs b/plc4net/api/messages/IPlcFieldResponse.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcFieldResponse.cs
rename to plc4net/api/messages/IPlcFieldResponse.cs
diff --git a/plc4net/plc4net/messages/IPlcMessage.cs b/plc4net/api/messages/IPlcMessage.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcMessage.cs
rename to plc4net/api/messages/IPlcMessage.cs
diff --git a/plc4net/plc4net/messages/IPlcReadRequest.cs b/plc4net/api/messages/IPlcReadRequest.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcReadRequest.cs
rename to plc4net/api/messages/IPlcReadRequest.cs
diff --git a/plc4net/plc4net/messages/IPlcReadRequestBuilder.cs b/plc4net/api/messages/IPlcReadRequestBuilder.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcReadRequestBuilder.cs
rename to plc4net/api/messages/IPlcReadRequestBuilder.cs
diff --git a/plc4net/plc4net/messages/IPlcReadResponse.cs b/plc4net/api/messages/IPlcReadResponse.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcReadResponse.cs
rename to plc4net/api/messages/IPlcReadResponse.cs
diff --git a/plc4net/plc4net/messages/IPlcRequest.cs b/plc4net/api/messages/IPlcRequest.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcRequest.cs
rename to plc4net/api/messages/IPlcRequest.cs
diff --git a/plc4net/plc4net/messages/IPlcRequestBuilder.cs b/plc4net/api/messages/IPlcRequestBuilder.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcRequestBuilder.cs
rename to plc4net/api/messages/IPlcRequestBuilder.cs
diff --git a/plc4net/plc4net/messages/IPlcResponse.cs b/plc4net/api/messages/IPlcResponse.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcResponse.cs
rename to plc4net/api/messages/IPlcResponse.cs
diff --git a/plc4net/plc4net/messages/IPlcSubscriptionEventArgs.cs b/plc4net/api/messages/IPlcSubscriptionEventArgs.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcSubscriptionEventArgs.cs
rename to plc4net/api/messages/IPlcSubscriptionEventArgs.cs
diff --git a/plc4net/plc4net/messages/IPlcSubscriptionRequest.cs b/plc4net/api/messages/IPlcSubscriptionRequest.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcSubscriptionRequest.cs
rename to plc4net/api/messages/IPlcSubscriptionRequest.cs
diff --git a/plc4net/plc4net/messages/IPlcSubscriptionRequestBuilder.cs b/plc4net/api/messages/IPlcSubscriptionRequestBuilder.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcSubscriptionRequestBuilder.cs
rename to plc4net/api/messages/IPlcSubscriptionRequestBuilder.cs
diff --git a/plc4net/plc4net/messages/IPlcSubscriptionResponse.cs b/plc4net/api/messages/IPlcSubscriptionResponse.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcSubscriptionResponse.cs
rename to plc4net/api/messages/IPlcSubscriptionResponse.cs
diff --git a/plc4net/plc4net/messages/IPlcUnsubscriptionRequest.cs b/plc4net/api/messages/IPlcUnsubscriptionRequest.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcUnsubscriptionRequest.cs
rename to plc4net/api/messages/IPlcUnsubscriptionRequest.cs
diff --git a/plc4net/plc4net/messages/IPlcUnsubscriptionRequestBuilder.cs b/plc4net/api/messages/IPlcUnsubscriptionRequestBuilder.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcUnsubscriptionRequestBuilder.cs
rename to plc4net/api/messages/IPlcUnsubscriptionRequestBuilder.cs
diff --git a/plc4net/plc4net/messages/IPlcUnsubscriptionResponse.cs b/plc4net/api/messages/IPlcUnsubscriptionResponse.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcUnsubscriptionResponse.cs
rename to plc4net/api/messages/IPlcUnsubscriptionResponse.cs
diff --git a/plc4net/plc4net/messages/IPlcWriteRequest.cs b/plc4net/api/messages/IPlcWriteRequest.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcWriteRequest.cs
rename to plc4net/api/messages/IPlcWriteRequest.cs
diff --git a/plc4net/plc4net/messages/IPlcWriteRequestBuilder.cs b/plc4net/api/messages/IPlcWriteRequestBuilder.cs
similarity index 100%
rename from plc4net/plc4net/messages/IPlcWriteRequestBuilder.cs
rename to plc4net/api/messages/IPlcWriteRequestBuilder.cs
diff --git a/plc4net/plc4net/model/IPlcField.cs b/plc4net/api/model/IPlcField.cs
similarity index 100%
rename from plc4net/plc4net/model/IPlcField.cs
rename to plc4net/api/model/IPlcField.cs
diff --git a/plc4net/plc4net/model/IPlcSubscriptionHandle.cs b/plc4net/api/model/IPlcSubscriptionHandle.cs
similarity index 100%
rename from plc4net/plc4net/model/IPlcSubscriptionHandle.cs
rename to plc4net/api/model/IPlcSubscriptionHandle.cs
diff --git a/plc4net/api/pom.xml b/plc4net/api/pom.xml
new file mode 100644
index 0000000..b531d23
--- /dev/null
+++ b/plc4net/api/pom.xml
@@ -0,0 +1,72 @@
+<?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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4net</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>plc4net-api</artifactId>
+ <packaging>pom</packaging>
+
+ <name>PLC4Net: API</name>
+ <description>Implementation of the protocol adapters for usage as .Net module.</description>
+
+ <!-- Disabled for now as C# support is currently not installed in Apache SonarQube -->
+ <!--properties>
+ <sonar.language>c#</sonar.language>
+ </properties-->
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.6.0</version>
+ <executions>
+ <execution>
+ <id>dotnet-build</id>
+ <phase>compile</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <executable>dotnet</executable>
+ <workingDirectory>${project.basedir}</workingDirectory>
+ <arguments>
+ <argument>build</argument>
+ <argument>api.csproj</argument>
+ <argument>--configuration=Debug</argument>
+ <argument>--framework=netstandard2.0</argument>
+ <argument>--output=${project.build.directory}/build</argument>
+ <argument>-p:Version=${project.version}</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
diff --git a/plc4net/plc4net/types/PlcResponseCode.cs b/plc4net/api/types/PlcResponseCode.cs
similarity index 100%
rename from plc4net/plc4net/types/PlcResponseCode.cs
rename to plc4net/api/types/PlcResponseCode.cs
diff --git a/plc4net/plc4net.driver/IPlcDriver.cs b/plc4net/plc4net.driver/IPlcDriver.cs
deleted file mode 100644
index b6b1f99..0000000
--- a/plc4net/plc4net.driver/IPlcDriver.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace plc4net.driver
-{
- /// <summary>
- /// Interface for PLC drivers to be implemented
- /// </summary>
- public interface IPlcDriver
- {
- IPlcC
- }
-}
\ No newline at end of file
diff --git a/plc4net/plc4net.driver/plc4net.driver.csproj b/plc4net/plc4net.driver/plc4net.driver.csproj
index 9f5c4f4..e54dfc4 100644
--- a/plc4net/plc4net.driver/plc4net.driver.csproj
+++ b/plc4net/plc4net.driver/plc4net.driver.csproj
@@ -1,7 +1,29 @@
+<?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 Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
+ <BaseOutputPath>target/classes</BaseOutputPath>
+ <BaseIntermediateOutputPath>target/classes-intermediate</BaseIntermediateOutputPath>
+ <RestoreOutputPath>target/restore-output-path</RestoreOutputPath>
</PropertyGroup>
</Project>
diff --git a/plc4net/plc4net.driver/pom.xml b/plc4net/plc4net.driver/pom.xml
new file mode 100644
index 0000000..4be89de
--- /dev/null
+++ b/plc4net/plc4net.driver/pom.xml
@@ -0,0 +1,68 @@
+<?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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4net</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>plc4net-driver</artifactId>
+ <packaging>pom</packaging>
+
+ <name>PLC4Net: Driver</name>
+ <description>Implementation of the protocol adapters for usage as .Net module.</description>
+
+ <!-- Disabled for now as C# support is currently not installed in Apache SonarQube -->
+ <!--properties>
+ <sonar.language>c#</sonar.language>
+ </properties-->
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.6.0</version>
+ <executions>
+ <execution>
+ <id>dotnet-build</id>
+ <phase>compile</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <executable>dotnet</executable>
+ <workingDirectory>${project.basedir}</workingDirectory>
+ <arguments>
+ <argument>build</argument>
+ <argument>plc4net.driver.csproj</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
diff --git a/plc4net/plc4net.sln b/plc4net/plc4net.sln
index 1781a3a..0f4ddcc 100644
--- a/plc4net/plc4net.sln
+++ b/plc4net/plc4net.sln
@@ -1,9 +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.
+#
+
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28803.156
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "plc4net", "plc4net\plc4net.csproj", "{343770DC-ECE5-4131-9066-A09C120BB3D9}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "api", "plc4net\plc4net.csproj", "{343770DC-ECE5-4131-9066-A09C120BB3D9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/plc4net/plc4net/plc4net.csproj b/plc4net/plc4net/plc4net.csproj
deleted file mode 100644
index 5d10bac..0000000
--- a/plc4net/plc4net/plc4net.csproj
+++ /dev/null
@@ -1,10 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netstandard2.0</TargetFramework>
- <RootNamespace>org.apache.plc4net</RootNamespace>
- <LangVersion>8.0</LangVersion>
- <NullableContextOptions>enable</NullableContextOptions>
- </PropertyGroup>
-
-</Project>
diff --git a/plc4net/pom.xml b/plc4net/pom.xml
new file mode 100644
index 0000000..2b0123f
--- /dev/null
+++ b/plc4net/pom.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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4x-parent</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>plc4net</artifactId>
+ <packaging>pom</packaging>
+
+ <name>PLC4Net</name>
+ <description>Implementation of the protocol adapters for usage as .Net module.</description>
+
+ <!-- Disabled for now as C# support is currently not installed in Apache SonarQube -->
+ <!--properties>
+ <sonar.language>c#</sonar.language>
+ </properties-->
+
+ <modules>
+ <module>api</module>
+ <!--module>plc4net.driver</module-->
+ </modules>
+
+</project>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 6b68eff..963808e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -737,6 +737,9 @@
<!-- CLion stuff (C++ IDE) -->
<exclude>**/cmake-build-debug/**</exclude>
+ <!-- Stuff created during a plc4net build -->
+ <exclude>**/obj/**</exclude>
+
<!-- Temporarily exclude generated code from thrift in python modules -->
<exclude>generated/**</exclude>
@@ -1246,6 +1249,13 @@
</profile>
<profile>
+ <id>with-dotnet</id>
+ <modules>
+ <module>plc4net</module>
+ </modules>
+ </profile>
+
+ <profile>
<id>with-python</id>
<modules>
<module>plc4py</module>