feat(dissertation): wrote pr in full

This commit is contained in:
Anthony Berg 2024-05-22 15:05:26 +01:00
parent fc33f38409
commit faaa64b252
2 changed files with 69 additions and 27 deletions

View File

@ -168,37 +168,79 @@ as a result aiding finding potential other options for that step in the procedur
% - gitignore % - gitignore
% - changing url for repo % - changing url for repo
% - testing everything still worked % - testing everything still worked
\begin{itemize} % \begin{itemize}
\item Adding the Gradle build tools can be seen as being helpful % \item Adding the Gradle build tools can be seen as being helpful
for others, as it would allow for the XPC library to be added % for others, as it would allow for the XPC library to be added
as a dependency, especially if the NASA Ames Research Center Diagnostics and Prognostics Group % as a dependency, especially if the NASA Ames Research Center Diagnostics and Prognostics Group
were to add it to the GitHub repository, it would mean that it would be easier for % were to add it to the GitHub repository, it would mean that it would be easier for
people to access Maven Packages for XPC % people to access Maven Packages for XPC
\item Therefore, to help improve the experience for other people who would want % \item Therefore, to help improve the experience for other people who would want
to develop with the XPC Java library, it would be logical to submit a % to develop with the XPC Java library, it would be logical to submit a
pull request % pull request
\item But it did mean making sure that the contribution would be perfect and not contain problems % TODO Improve wording % \item But it did mean making sure that the contribution would be perfect and not contain problems % TODO Improve wording
\end{itemize} % \end{itemize}
Having produced the Maven packages for XPC could be useful for other people who may want
to also use the Java library, as it would make adding XPC as a dependency easier, especially
if the NASA Ames Research Center Diagnostics and Prognostics Group were to add it to the
GitHub repository. This is because people looking at the GitHub repository can see that there
are published Maven packages.
Therefore, to help improve the experience for other people who would want to
develop with the XPC Java library, it would be logical to submit a pull request to the
GitHub repository. But doing this would mean making sure that the contribution would be up
to standard and not add problems to the XPC repository.
\subsubsection{Testing} \subsubsection{Testing}
\begin{itemize} % \begin{itemize}
\item The XPC Java library includes a JUnit 4 test, however, implementing this % \item The XPC Java library includes a JUnit 4 test, however, implementing this
with Gradle proved useless, as it was not able to get the results from the % with Gradle proved useless, as it was not able to get the results from the
tests, which would be bad for not being able to catch problems with new builds % tests, which would be bad for not being able to catch problems with new builds
\item Therefore, the tests were updated to JUnit 5, where most of the changes were % \item Therefore, the tests were updated to JUnit 5, where most of the changes were
adding asserts for throws~\cite{junit:migrate} % adding asserts for throws~\cite{junit:migrate}
\footnote{The commit including the changes to the tests can be viewed here: % \footnote{The commit including the changes to the tests can be viewed here:
% \url{https://github.com/smyalygames/XPlaneConnect/commit/e7b8d1e811999b4f8d7230f60ba94368e14f1148}}
% \end{itemize}
Originally, the XPC Java library uses JUnit 4 for unit tests, however, implementing this
with Gradle proved useless as it was not able to get the results from the tests,
which would be bad as there would be no tests run before creating builds, meaning that
problematic code may go unnoticed.
Therefore, the tests were updated to JUnit 5, where most of the changes were adding asserts
for throws~\cite{junit:migrate}.%
\footnote{The commit including the changes to the tests can be viewed here:
\url{https://github.com/smyalygames/XPlaneConnect/commit/e7b8d1e811999b4f8d7230f60ba94368e14f1148}} \url{https://github.com/smyalygames/XPlaneConnect/commit/e7b8d1e811999b4f8d7230f60ba94368e14f1148}}
\end{itemize}
\subsubsection{GitHub} \subsubsection{GitHub}
\begin{itemize} % \begin{itemize}
\item Made sure to add generated build files to .gitignore % \item Made sure to add generated build files to .gitignore
\item Changed the URL of the repository in Gradle to NASA's repository so that % \item Changed the URL of the repository in Gradle to NASA's repository so that
the Maven package can be published correctly on the GitHub repository % the Maven package can be published correctly on the GitHub repository
\item From the beginning anyways, made sure to have insightful commit messages % \item From the beginning anyways, made sure to have insightful commit messages
\item Submitted the pull request stating the changes made\footnote{\url{https://github.com/nasa/XPlaneConnect/pull/313}} % \item Submitted the pull request stating the changes made\footnote{\url{https://github.com/nasa/XPlaneConnect/pull/313}}
\end{itemize} % \end{itemize}
Having someone submit a pull request with little information in the commit messages,
or adding extra unnecessary files to the repository would be a bad thing and annoy the
maintainers.
Therefore, to avoid the extra generated Gradle files from cluttering the repository,
the \lstinline|.gitignore| file was updated to ignore those build and auto-generated
Gradle files.
It was important to also make sure that the configuration for the project was set up correctly
for the repository that was going to have a pull request. So the GitHub Maven repository
URL had to be updated to reflect NASA's GitHub repository URL.
The commit messages were nothing to worry about when submitting the pull request, as from
the beginning and during the entire project, meaningful Git commit messages were used,
where for XPC, the previous styling in the commit history was used, as there is no contributing
guidelines for commit message styling. Using the Angular commit styling had to be avoided, as
that was used for this project, even though it may be clearer than sentences, it may confuse
other maintainers.
After all this, a pull request was submitted, with a message stating the changes made.%
\footnote{\url{https://github.com/nasa/XPlaneConnect/pull/313}}
\section{Reflection} \section{Reflection}

Binary file not shown.