Dieser Artikel wird in einer Reihe sein. (unvollendet) Ich denke über die folgende Konfiguration nach.
・ Problemstellung - Dieser Artikel Ich werde den Hintergrund und das Thema dieses Artikels sowie die fertige Zeichnung erläutern. ・ Gradle-Umgebungskonstruktion-(Posted) Beschreibt die Versionsverwaltung durch Gradle und Integration der Java / JS-Build-Umgebung.
・ IDE-Umgebungskonstruktion (nicht veröffentlicht) Erläutert das Verfahren zur Erstellung der Umgebung, wenn der Entwickler Programmierung, Komponententest und manuelles Debuggen durchführt.
In welcher Umgebung programmieren Sie? Apropos vor langer Zeit, diese Sprache (oder dieses Betriebssystem) wird von dieser Umgebung bestimmt! Ich hatte so ein Gefühl, aber als ich herausfinden wollte, wie ich es machen kann, wenn ich die Entwicklungsumgebung im Internet standardisieren möchte, dachte ich, dass dies heutzutage nicht der Fall ist, so dass es jedes Mal schwierig ist, dies zu untersuchen. Deshalb werde ich die Ergebnisse und Ideen in einem Artikel zusammenfassen.
Sofern es sich nicht um ein ganz besonderes Projekt handelt, hoffe ich, dass es als Referenz beim Aufbau einer Umgebung für zukünftige Entwicklungsprojekte dient. Der Inhalt des Schreibens ist im Grunde genommen für mich selbst, aber ich hoffe, es hilft, wenn es Menschen gibt, die ähnliche Gefühle haben.
Da ich jedoch nur weiß, was ich verstehen kann, werde ich den Bereich für diesen Artikel im Voraus definieren.
Ich denke, dass die Entwicklungsumgebung heutzutage viele Konfigurationen aufweist, wie in der obigen Abbildung gezeigt. Welche Art von Umgebung wird in diesem Dokument auf dem oben gezeigten Entwicklungsterminal (eigenem Terminal) und in dem Bereich erstellt, der sich auf die Java / Javascript-Sprache konzentriert? Ich werde die Prozedur mit dem Thema verfolgen.
Das Folgende ist eine Denkweise, die ich als Ergebnis meiner Forschung erhalten habe. Natürlich denke ich nicht, dass dies die einzige Antwort ist, und ich bin mir nicht sicher, ob dies der Standard ist.
Als Ergebnis der Untersuchung während dieses aufeinanderfolgenden Urlaubs konnte ich keine Umgebung finden, die einfach aufzubauen ist, verschiedene Funktionen hat und alles integrieren kann. Daraus kann ich jedoch nicht schließen, daher habe ich mir die folgende Konfiguration überlegt, soweit ich mir vorstellen kann.
Als erstes muss man sich ansehen, wie Gradle funktioniert. Andere scheinen effektive Alternativen zu sein, aber ich denke, dass Gradles Benutzerfreundlichkeit und Geräumigkeit von anderen Build-Tools nicht übertroffen werden. Da es mit Ant und Maven koexistieren kann, ist es einfach, Legacy zu unterstützen. Man kann sagen, dass es fast der De-facto-Standard ist.
Als nächstes kommt Eclipse und VS Code. Immerhin ist die Anzahl der Eclipse-Benutzer überwältigend groß, sodass sie nicht abgeschnitten werden können, und ich habe den Eindruck, dass sie überraschend gut mit Gradle kompatibel sind. Was VSCode betrifft, wollte ich das manuelle Debuggen von Javascript mit Eclipse nach Möglichkeit realisieren, gab jedoch auf, weil ich keine Prozedur finden konnte, die einfacher zu installieren und für mehrere Zwecke einfacher zu debuggen war als VSCode. Es gibt auch ein Kompatibilitätsproblem mit npm.
In diesem Bereich gab es bisher viele Fälle, in denen Java- und JS-Projekte von svn als Einheit verwaltet wurden, aber von nun an denke ich, dass der Arbeitsbereich als Einheit betrachtet werden sollte. In dieser Studie wurde, wie in der folgenden Abbildung gezeigt, das Konzept des Arbeitsbereichs so konzipiert, dass alle Betriebsumgebungen vereinheitlicht werden. Abhängig von der Arbeit zu diesem Zeitpunkt kann es sich um einen Gradle-Arbeitsbereich, einen Eclipse-Arbeitsbereich oder einen VSCode-Arbeitsbereich handeln, der Zugriff erfolgt jedoch immer von diesem Standort aus als Ausgangspunkt. Diese Struktur scheint sowohl für Menschen als auch für Systeme am bequemsten zu sein.
Entwurf einer Dateistruktur für den Arbeitsbereich(Angenommen, Windows-Umgebung)
/workspace : gradle, eclipse,Gemeinsamer Arbeitsbereich für VS-Code
/.metadata :Einstellungen für die Eclipse-Freigabe(Teilweise geteilt)
/.plugins :Einstellungen für die Eclipse-Freigabe(Teilweise geteilt)
/.vscode :VS Code Sharing-Einstellungen(Teilweise geteilt)
/launch.json :js Debug-Konfigurationsdefinition
/node_module :npm Modul root(jasmine-node, karma)
/gradle :Gradle nach Hause
/libs :Bibliotheken
/java :Bibliothek, auf die das zu entwickelnde Java-Programm verweist
/js :Bibliothek, auf die das zu entwickelnde js-Programm verweist
/test :Bibliothek, auf die durch Unit-Test verwiesen wird
/site :API-Spezifikationen, Site für Testergebnisse
/docs :API-Spezifikationen
/javadoc :Javadoc-Wurzel
/jsdoc :jsdoc root
/reports :Unit-Testergebnisse
/java : spock,Jacoco-Bericht
/js : jasmine-node,Karma-Bericht
/project1 :Projekt nach Hause(Vorübergehend Java-Projekt)
/.settings :Java-Compiler,Formatierer,Aktion zum Speichern von Dateien
/bin :Klassenordner
/src :Produktionscode(java)
/spec :Unit Test Code(spock)
/gradle : gradle-Wrapper-Ausführungsumgebung
/.project :Projekt Einstellungen(grooviges Projekt)
/.classpath :Quellverzeichnis,Klassenordner,Bibliothekseinstellungen
/gradlew.bat :Bauen,Batch für die automatisierte Testausführung
/project2 :Projekt nach Hause(Vorübergehend Js Projekt)
/.settings :Java.Einstellungen und.Entspricht einer Kombination von Klassenpfaden
/bin :Wenn Sie transpile brauchen
/src :Produktionscode(js)
/spec :Unit Test Code(jasmine)
/gradle : gradle-Wrapper-Ausführungsumgebung
/.project :Projekt Einstellungen(Javascript-Projekt)
/gradlew.bat :Bauen,Batch für die automatisierte Testausführung
/build.gradle :Erstellen Sie Definitionen, die projektübergreifend angewendet werden können
/gradle.properties:Wenn Sie Eigenschaften benötigen
/settings.gradle:Projektordner auflisten
/gradlew.bat :Elterngradle-wrapper
Ich habe Ordner und Dateien weggelassen, die für die Teamfreigabe nicht erforderlich sind, aber nur durch die Entwicklung eines Java-Projekts und eines JS-Projekts ist die Aufstellung wirklich so groß. Ich wollte die Anzahl reduzieren, aber es ist eine enorme Menge. Es erscheint verschwenderisch, dies durch personalisierte Arbeit aufzubauen und zu verwalten, daher scheint Standardisierungsarbeit unvermeidlich. Selbst wenn es sich um Standardisierung handelt, ist das Verfahrenshandbuch bei dieser Komplexität nicht geeignet, weshalb es angemessen ist, es bis zu einem gewissen Grad zu systematisieren.
Es tut mir leid für diejenigen, die eine tiefere oder konkrete Methode erwartet haben. Es wird lange dauern und ich bin müde, also werde ich das detaillierte Verfahren ab dem nächsten Mal veröffentlichen. Da es sich um eine konzeptionelle Geschichte handelt, war es möglicherweise schwierig, sie zu vermitteln, da es sich nur um Sätze handelte. Wenn Sie möchten, lesen Sie sie bitte, wenn der nächste Beitrag fertig ist.
2018/07/22 Gradle-Umgebungskonstruktion veröffentlicht
Recommended Posts