| <?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 | |
| https://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> | |
| <!-- | |
| Properties shared by every PLC4Net project. Keeping them here means a | |
| framework or version bump is a one-line change instead of a sweep over | |
| every .csproj. | |
| --> | |
| <PropertyGroup> | |
| <!-- | |
| net8.0 (LTS) replaces the previous net452 target. .NET Framework 4.5.2 | |
| went out of support in April 2022 and cannot be built on the Linux and | |
| macOS CI runners, which is what kept PLC4Net off the CI matrix. | |
| --> | |
| <TargetFramework>net8.0</TargetFramework> | |
| <LangVersion>latest</LangVersion> | |
| <!-- Full nullable analysis: warnings stay on so a false non-null contract | |
| cannot ship. Public members whose documented contract allows null | |
| (e.g. feature-gated request builders, unknown transport codes) must | |
| annotate that with `?`. --> | |
| <Nullable>enable</Nullable> | |
| <!-- The module builds warning-clean today; keep it that way in CI so a | |
| later change cannot quietly regress it. --> | |
| <TreatWarningsAsErrors>true</TreatWarningsAsErrors> | |
| <RootNamespace>org.apache.plc4net</RootNamespace> | |
| </PropertyGroup> | |
| <PropertyGroup> | |
| <Authors>Apache PLC4X</Authors> | |
| <Copyright>The Apache Software Foundation</Copyright> | |
| <PackageProjectUrl>https://plc4x.apache.org</PackageProjectUrl> | |
| <!-- PackageLicenseUrl is deprecated (NU5125); the SPDX expression replaces it. --> | |
| <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> | |
| <!-- Overridden by the Maven build via -p:Version=${project.version}. --> | |
| <Version>1.1.0-SNAPSHOT</Version> | |
| <!-- | |
| AssemblyVersion is pinned to MAJOR.0.0.0 so it stays stable across every | |
| 1.x build; the NuGet package version and FileVersion still track -p:Version. | |
| Without this a consumer that restored two packages built at different | |
| -p:Version values gets a binding mismatch (driver-s7 refs plc4net-spi | |
| 1.1.0.0, the packed plc4net-spi.dll is 0.0.1.0). | |
| --> | |
| <AssemblyVersion>1.0.0.0</AssemblyVersion> | |
| <!-- Per-project <Title> stays specific; this is the fallback prose NuGet wants. --> | |
| <Description>Apache PLC4X for .NET (plc4net): API, SPI, and transport foundations for industrial protocol drivers.</Description> | |
| <PackageReadmeFile>PACKAGE.md</PackageReadmeFile> | |
| <RepositoryUrl>https://github.com/apache/plc4x</RepositoryUrl> | |
| <RepositoryType>git</RepositoryType> | |
| <!-- Embed the PDB in the assembly so a symbol server is not needed and every | |
| feed (GitHub Packages does not take .snupkg) carries usable symbols. --> | |
| <DebugType>embedded</DebugType> | |
| </PropertyGroup> | |
| <!-- Ship the package readme in every packable project. --> | |
| <ItemGroup Condition="'$(IsPackable)' != 'false'"> | |
| <None Include="$(MSBuildThisFileDirectory)PACKAGE.md" Pack="true" PackagePath="\" Visible="false" /> | |
| </ItemGroup> | |
| </Project> |