{"issue":{"title":"pom.xml enchancements","user":{"login":"cheremin","id":1292324,"url":"https://api.github.com/users/cheremin","avatar_url":"https://secure.gravatar.com/avatar/ffad3a270c3a4c748d8636dc1b400096?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"ffad3a270c3a4c748d8636dc1b400096"},"created_at":"2011-12-29T14:28:16Z","milestone":null,"state":"open","updated_at":"2011-12-29T14:28:16Z","labels":[],"id":2679753,"closed_at":null,"html_url":"https://github.com/peter-lawrey/Java-Thread-Affinity/issues/3","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"body":"1. Sources/resources encoding are not specified -- which is not portable, since it means \"use system default\" -> Added project.build.sourceEncoding=UTF-8\r\n2. Added `<license>`, `<scm>`, `<distributionManagement>` sections\r\n3. Added `maven-antrun` plugin to call `chmod u+x Makefile`\r\n\r\n4. Added maven deployment plugins. For now you should be able to create all standard maven artifacts (jar/javadoc/sources) and install them into your own public available repository `<svn-path>/repo` by invoking 'mvn deploy'. I can't check it, though, since I haven't write access.\r\n\r\n```xml\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!--\r\n  ~ Copyright 2011 Peter Lawrey\r\n  ~\r\n  ~ Licensed under the Apache License, Version 2.0 (the \"License\");\r\n  ~ you may not use this file except in compliance with the License.\r\n  ~ You may obtain a copy of the License at\r\n  ~\r\n  ~        http://www.apache.org/licenses/LICENSE-2.0\r\n  ~\r\n  ~ Unless required by applicable law or agreed to in writing, software\r\n  ~ distributed under the License is distributed on an \"AS IS\" BASIS,\r\n  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n  ~ See the License for the specific language governing permissions and\r\n  ~ limitations under the License.\r\n  -->\r\n\r\n<project xmlns = \"http://maven.apache.org/POM/4.0.0\"\r\n         xmlns:xsi = \"http://www.w3.org/2001/XMLSchema-instance\"\r\n         xsi:schemaLocation = \"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\r\n    <modelVersion>4.0.0</modelVersion>\r\n\r\n    <groupId>vanilla.java</groupId>\r\n    <artifactId>affinity</artifactId>\r\n    <version>1.1</version>\r\n    <packaging>jar</packaging>\r\n\r\n    <licenses>\r\n        <license>\r\n            <name>Apache License Version 2.0</name>\r\n            <url>http://www.apache.org/licenses/LICENSE-2.0</url>\r\n            <comments>A business-friendly OSS license</comments>\r\n            <distribution>repo</distribution>\r\n        </license>\r\n    </licenses>\r\n\r\n    <scm>\r\n        <connection>scm:svn:https://github.com/peter-lawrey/Java-Thread-Affinity.git/trunk</connection>\r\n        <developerConnection>scm:svn:https://github.com/peter-lawrey/Java-Thread-Affinity.git/trunk</developerConnection>\r\n        <url>https://github.com/peter-lawrey/Java-Thread-Affinity</url>\r\n    </scm>\r\n\r\n    <distributionManagement>\r\n        <repository>\r\n            <uniqueVersion>false</uniqueVersion>\r\n            <id>github</id>\r\n            <url>svn:https://github.com/peter-lawrey/Java-Thread-Affinity.git/repo/</url>\r\n        </repository>\r\n    </distributionManagement>\r\n\r\n    <properties>\r\n        <native.source.dir>src/main/c</native.source.dir>\r\n        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r\n    </properties>\r\n\r\n    <dependencies>\r\n        <dependency>\r\n            <groupId>junit</groupId>\r\n            <artifactId>junit</artifactId>\r\n            <version>4.8.2</version>\r\n            <scope>test</scope>\r\n        </dependency>\r\n        <!-- on linux install with sudo apt-get install libjna-java -->\r\n        <dependency>\r\n            <groupId>net.java.dev.jna</groupId>\r\n            <artifactId>jna</artifactId>\r\n            <version>3.4.0</version>\r\n        </dependency>\r\n    </dependencies>\r\n\r\n    <build>\r\n        <extensions>\r\n            <extension>\r\n                <groupId>org.jvnet.wagon-svn</groupId>\r\n                <artifactId>wagon-svn</artifactId>\r\n                <version>1.8</version>\r\n            </extension>\r\n        </extensions>\r\n        <plugins>\r\n            <plugin>\r\n                <artifactId>maven-compiler-plugin</artifactId>\r\n                <version>2.3.2</version>\r\n                <configuration>\r\n                    <source>1.6</source>\r\n                    <target>1.6</target>\r\n                </configuration>\r\n            </plugin>\r\n\r\n            <plugin>\r\n                <artifactId>maven-antrun-plugin</artifactId>\r\n                <version>1.7</version>\r\n                <executions>\r\n                    <execution>\r\n                        <id>build-native</id>\r\n                        <phase>process-classes</phase>\r\n                        <goals>\r\n                            <goal>run</goal>\r\n                        </goals>\r\n                        <configuration>\r\n                            <target>\r\n                                <property name=\"makefile\" value=\"${project.basedir}/${native.source.dir}/Makefile\"/>\r\n                                <!-- make it executable -->\r\n                                <chmod file=\"${makefile}\" perm=\"u+x\"/>\r\n                            </target>\r\n                        </configuration>\r\n\r\n                    </execution>\r\n                </executions>\r\n            </plugin>\r\n\r\n            <plugin>\r\n                <groupId>org.codehaus.mojo</groupId>\r\n                <artifactId>exec-maven-plugin</artifactId>\r\n                <version>1.2.1</version>\r\n                <executions>\r\n                    <execution>\r\n                        <!-- this execution happens just after compiling the java classes, and builds the native code. -->\r\n                        <id>build-native</id>\r\n                        <phase>process-classes</phase>\r\n                        <goals>\r\n                            <goal>exec</goal>\r\n                        </goals>\r\n                        <configuration>\r\n                            <executable>src/main/c/Makefile</executable>\r\n                            <workingDirectory>src/main/c</workingDirectory>\r\n                        </configuration>\r\n                    </execution>\r\n                </executions>\r\n            </plugin>\r\n\r\n            <plugin>\r\n                <artifactId>maven-source-plugin</artifactId>\r\n                <version>2.1.2</version>\r\n                <executions>\r\n                    <execution>\r\n                        <phase>package</phase>\r\n                        <goals>\r\n                            <goal>jar</goal>\r\n                        </goals>\r\n                    </execution>\r\n                </executions>\r\n            </plugin>\r\n            <plugin>\r\n                <artifactId>maven-javadoc-plugin</artifactId>\r\n                <executions>\r\n                    <execution>\r\n                        <phase>package</phase>\r\n                        <goals>\r\n                            <goal>javadoc</goal>\r\n                        </goals>\r\n                    </execution>\r\n                </executions>\r\n            </plugin>\r\n\r\n            <plugin>\r\n                <artifactId>maven-jar-plugin</artifactId>\r\n                <version>2.3.1</version>\r\n                <configuration>\r\n                    <archive>\r\n                        <manifest>\r\n                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>\r\n                        </manifest>\r\n                    </archive>\r\n                </configuration>\r\n            </plugin>\r\n\r\n            <plugin>\r\n                <groupId>org.apache.felix</groupId>\r\n                <artifactId>maven-bundle-plugin</artifactId>\r\n                <extensions>true</extensions>\r\n                <configuration>\r\n                    <instructions>\r\n                        <Bundle-RequiredExecutionEnvironment>J2SE-1.5,JavaSE-1.6</Bundle-RequiredExecutionEnvironment>\r\n                        <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>\r\n                        <Export-Package>${project.groupId}.*;version=\"${project.version}\"</Export-Package>\r\n                    </instructions>\r\n                </configuration>\r\n            </plugin>\r\n        </plugins>\r\n    </build>\r\n</project>\r\n``` ","number":3,"url":"https://api.github.com/repos/peter-lawrey/Java-Thread-Affinity/issues/3","comments":0,"assignee":null},"action":"opened"}