mirror of
https://github.com/smyalygames/checklist-tester.git
synced 2026-01-01 09:18:43 +01:00
feat(dissertation): add section on creating a maven package for xpc
This commit is contained in:
@@ -120,6 +120,40 @@ Brief overview of what it is supposed to do... % TODO
|
||||
|
||||
|
||||
\subsection{Creating Maven Package}
|
||||
% Gradle
|
||||
% Testing
|
||||
% GitHub CI
|
||||
\begin{itemize}
|
||||
\item XPC package is not published on a public Maven repository
|
||||
\item There has been a pull request that was merged to the \textit{develop} branch
|
||||
that provides Maven POMs~\cite{xpc:pom}. However, the maintainer for the
|
||||
project, at the time, did not have enough time to figure out the process of
|
||||
publishing the package to a Maven repository~\cite{xpc:pom-time}
|
||||
\item Therefore, had to find an alternative way to implement
|
||||
\item Jitpack~\cite{jitpack}
|
||||
\begin{itemize}
|
||||
\item In theory, simple to publish a repository, all that is required is a GitHub
|
||||
repository and searching if one has already been created on JitPack or build and publish
|
||||
a specific version
|
||||
\item However, due to the structure of the XPC repository, JitPack could not locate the
|
||||
build tools (Apache Maven in this case) as JitPack only searches on the root directory
|
||||
for the compatible build tools
|
||||
\end{itemize}
|
||||
\item Gradle gitRepository~\cite{gradle:gitRepository}
|
||||
\begin{itemize}
|
||||
\item There was not a lot of documentation
|
||||
\item Ambiguous on how to define directory for where the Java library is located in the Git repository
|
||||
\item However, as XPC was only built with Maven, Gradle was not able add the dependency as \verb|gitRepository()|
|
||||
only works with Gradle builds~\cite{gradle:gitRepoGradleOnly}
|
||||
\end{itemize}
|
||||
\item Resorted to using a compiled Jar file and adding the dependency to Gradle
|
||||
\item Not happy about that because it means maintaining it will be more difficult as
|
||||
it is not as simple as just changing the version number
|
||||
\item Later, resorted to adding Gradle build files to XPC
|
||||
\item Used automatic conversion from Maven to Gradle using \verb|gradle init| command~\cite{gradle:migratePOM}
|
||||
\item Had to add local dependencies due to how Gradle works differently
|
||||
\item Had to fix previous structure of Maven POM as the grouping as not good
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\subsection{Submitting a Pull Request}
|
||||
|
||||
Reference in New Issue
Block a user