hereRaw= `dirname $0`
if [ "$hereRaw" = . ] ; then
here=
else
here="$hereRaw/"
fi
echo -e "Compiling using $JAVAC\n"
ldb="$here"org.melati.LogicalDatabase.properties
ldbe="$ldb.example"
if [ ! -e "$ldb" ] && [ -e "$ldbe" ] ; then
echo >&2 -e "*** warning: $ldb not found, \nso creating new $ldb from" \
"$ldbe\n\n"
cp $ldbe $ldb
fi
[ -e "$ldb" ] &&
wronglines=`grep -v '^[[:space:]]*[#!]' "$ldb" | fgrep -n jdbc1` &&
echo -e >&2 "*** warning: your $ldb mentions jdbc1 rather than jdbc2" \
"in the following lines:\n\n$wronglines\n\n" \
"You must use JDK1.2 with Melati now, so you should change them to jdbc2."
find "$hereRaw" \( -path "$hereRaw/playing" -o \
-path "$hereRaw/doc/example" -o \
-path "$hereRaw/test" -o \
-path "$hereRaw/template" \) \
-prune -o \
-name '*.java' -print0 | xargs -0 $JAVAC
.PHONY: all
all:
@echo "Warning: at present this (FIXME) doesn't rescan Poem.dsd"
@echo "(which doesn't matter for most users)"
@echo
./compile.sh
<!--
In order to compile WebMacro, you may need to set these environment variables
JAVACC_HOME: your JavaCC installation home
-->
<!--
Note, you will need ANT 1.5.x, available from:
http://jakarta.apache.org/ant
-->
<project name="WebMacro" default="usage" basedir=".">
<target name="usage">
<echo><![CDATA[
Usage:
ant TARGET [-Dproperty1=value -DpropertyN=value]
<target name="compile" depends="prepare, precompile">
<filter token="VERSION" value="${version}" />
<filter token="BUILD_DATE" value="${TODAY}" />
<copy todir="${tmpdir}" filtering="true">
<fileset dir="src" />
</copy>
<javac srcdir="${tmpdir}"
fork="yes"
destdir="${classes}"
debug="on" optimize="off" deprecation="off">
<classpath refid="class.path" />
</javac>
<copy todir="${classes}">
<fileset dir="${tmpdir}" includes="**/*.properties" />
</copy>
<copy file="WebMacro.defaults.${wm-style}" tofile="${classes}/WebMacro.defaults"/>
<touch file="${classes}/WM-VERSION-${version}" />
</target>
"Someone who is dazzlingly skilled in any field.
synonyms: ace, adept, champion, genius, hotshot, sensation, star, superhero, superstar, virtuoso, whiz, whizz, wiz, wizard."
(not known outside of US)
It's all about the Project Object Model (POM)
and the web site production https://maven.apache.org/
.m2/repository
-SNAPSHOT
Yay!
Err
Whatever
Using Maven for a long time can lead to various outcomes, both positive and negative, depending on how it's utilized and the context of its usage. Here are some potential scenarios:
Over time, as you become more familiar with Maven, your project setups become more standardized and stable. Maven's dependency management ensures that your project remains consistent and avoids dependency conflicts, leading to fewer build errors and smoother development processes.
With experience, you become more proficient in configuring Maven builds efficiently. You might create custom plugins or optimize configurations to streamline the build process, leading to faster builds and improved productivity.
As projects grow larger and dependencies proliferate, managing them can become increasingly complex. Dependency conflicts, version mismatches, and transitive dependencies can lead to headaches and require careful management to avoid runtime issues.
While Maven is powerful, it's not the only build tool available. After using it for a long time, some developers might start feeling its limitations or desire to explore alternative build tools like Gradle or Bazel for specific projects or scenarios.
As projects evolve, maintaining Maven configurations can become time-consuming, especially if the project structure or dependencies need frequent updates. Keeping up with new releases, security patches, and best practices can also require ongoing effort.
Long-term use of Maven often means tapping into a vast community of users and resources, including documentation, forums, and plugins. This ecosystem can provide valuable insights, solutions to common problems, and opportunities for collaboration.
Over time, the libraries and frameworks your project depends on might evolve or even become deprecated. Staying abreast of these changes and updating dependencies accordingly is essential to ensure the long-term viability and security of your project.
In summary, using Maven over the long term can lead to greater stability, efficiency, and community support for your projects. However, it also comes with challenges such as dependency management complexity and ongoing maintenance overhead. Adaptability and staying informed about best practices and ecosystem changes are key to maximizing the benefits of long-term Maven usage.
Tim: Keep answers short and to the pointCGPT: With prolonged use of Maven, you may encounter dependency conflicts, build errors, and potentially slower build times due to the accumulation of dependencies and configurations. It's important to regularly update dependencies and plugins to mitigate these issues.In the process we have achieved the following:
| File | Date | Reason |
|---------------------|:----------:|:-----------------------------------------|
| maven-tomcat-plugin | 2013-11-11 | Who knows, the team just walked away |
| tpp-module | 2024-02-22 | Finished polishing, flushing now |
| my-perl-script.pl | 2019-03-23 | Moving on up |
find * -name pom.xml |xargs wc -l
Was : 40675
Is: 23525
Inheritance of SCM and Profiles tags is more tricky:
<properties>
<git.repo.name>module23</git.repo.name>
</properties>
<scm>
<connection>scm|git|ssh://git@github.com/timp/${git.repo.name}</connection>
<developerConnection>scm|git|ssh://git@github.com/timp/${git.repo.name}</developerConnection>
<url>scm|git|ssh://git@github.com/timp/${git.repo.name}</url>
<tag>HEAD</tag>
</scm>
<scm
child.scm.connection.inherit.append.path="false"
child.scm.developerConnection.inherit.append.path="false"
child.scm.url.inherit.append.path="false">
<connection>scm|git|ssh://git@github.com/timp/${git.repo.name}</connection>
<developerConnection>scm|git|ssh://git@github.com/timp/${git.repo.name}</developerConnection>
<url>scm|git|ssh://git@github.com/timp/${git.repo.name}</url>
<tag>HEAD</tag>
</scm>
<properties>
<git.repo.name>module23</git.repo.name>
</properties>
Date.Build
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>20030203.000550</version>
<scope>test</scope>
</dependency>
Both?
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-security</artifactId>
<version>8.1.7.v20120910</version>
<scope>test</scope>
</dependency>
Do not introduce a new, private, unvalidated property naming system
<properties>
<aws.sdk.version>1.12.287</aws.sdk.version>
</properties>
!xml
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-dynamodb</artifactId>
<version>${aws.sdk.version}</version>
</dependency>
Tip: Keep a Darkslide slide deck open!
Thank you to Humand (Jo, Becky, Matheus) for J-Ox 2024-02-27
| Table of Contents | t |
|---|---|
| Exposé | ESC |
| Presenter View | p |
| Source Files | s |
| Slide Numbers | n |
| Toggle screen blanking | b |
| Show/hide next slide | c |
| Notes | 2 |
| Help | h |