You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by da...@apache.org on 2020/02/08 12:23:10 UTC
[openoffice] 03/04: Add some documentation
This is an automated email from the ASF dual-hosted git repository.
damjan pushed a commit to branch scons-build
in repository https://gitbox.apache.org/repos/asf/openoffice.git
commit 1cf963eecdba91abc87d79065edcb42f6434ad27
Author: Damjan Jovanovic <da...@apache.org>
AuthorDate: Sat Feb 8 12:04:38 2020 +0200
Add some documentation
---
.../gotoSCons/targets/AllLangResTarget.java | 162 +++++++++++++++++++++
1 file changed, 162 insertions(+)
diff --git a/gotoSCons/src/main/java/org/apache/opeonoffice/gotoSCons/targets/AllLangResTarget.java b/gotoSCons/src/main/java/org/apache/opeonoffice/gotoSCons/targets/AllLangResTarget.java
index 22629ad..3ce18d9 100644
--- a/gotoSCons/src/main/java/org/apache/opeonoffice/gotoSCons/targets/AllLangResTarget.java
+++ b/gotoSCons/src/main/java/org/apache/opeonoffice/gotoSCons/targets/AllLangResTarget.java
@@ -31,6 +31,168 @@ import org.apache.openoffice.gotoSCons.raw.ListNode;
import org.apache.openoffice.gotoSCons.raw.Node;
import org.apache.openoffice.gotoSCons.raw.ValueNode;
+/**
+ * gbuild's main/solenv/gbuild/AllLangResTarget.mk contains these 5 classes:
+ * 1. SrsPartMergeTarget (used in 2 modules)
+ * 2. SrsPartTarget (used in 2 modules)
+ * 3. SrsTarget (used in many modules)
+ * 4. ResTarget (unused in modules)
+ * 5. AllLangResTarget (used in many modules)
+ *
+ *
+ * ====================
+ * 5. AllLangResTarget
+ * ====================
+ * This is just there to create a number of ResTarget objects,
+ * one per language, and forward various calls to each one
+ * of those (eg. add_srs() is called on every lang's ResTarget).
+ *
+ * (extensions/pre_SharedLangList.mk)
+ * if WITH_LANG == 'All':
+ * gb_WITH_LANG = $(completelangiso) from $(SOLARENV)/inc/langlist.mk
+ * else:
+ * gb_WITH_LANG = $(WITH_LANG)
+ * gb_AllLangResTarget_LANGS = unique union of (en-US, gb_WITH_LANG)
+ *
+ * # UNUSED
+ * #def gb_AllLangResTarget_set_langs(langs):
+ * # gb_AllLangResTarget_LANGS = langs
+ *
+ * def gb_AllLangResTarget_get_target(name):
+ * return $(WORKDIR)/AllLangRes/$(name)
+ *
+ * def gb_AllLangResTarget_AllLangResTarget(name):
+ * for lang in gb_AllLangResTarget_LANGS:
+ * gb_ResTarget_ResTarget($name$lang, name, lang)
+ * register the target gb_AllLangResTarget_get_target(name)
+ *
+ * def gb_AllLangResTarget_add_srs(name, srs):
+ * for s in srs:
+ * gb_AllLangResTarget_add_one_srs(name, s)
+ *
+ * def gb_AllLangResTarget_add_one_srs(name, srs):
+ * for lang in gb_AllLangResTarget_LANGS:
+ * gb_ResTarget_add_one_srs($(name)$(lang), srs)
+ *
+ * def gb_AllLangResTarget_set_reslocation(name, location):
+ * for lang in gb_AllLangResTarget_LANGS:
+ * gb_ResTarget_set_reslocation($(name)$(lang), location)
+ *
+ * def gb_AllLangResTarget_set_imagelocations(name, location):
+ * for lang in gb_AllLangResTarget_LANGS:
+ * gb_ResTarget_set_imagelocations($(name)$(lang), location)
+ *
+ * ============================
+ * 4. ResTarget
+ * ============================
+ * Generates $(WORKDIR)/ResTarget/$(resName).res
+ * from a number of .srs
+ *
+ * def gb_ResTarget_get_target(resName):
+ * return $(WORKDIR)/ResTarget/$(resName).res
+ *
+ * def gb_ResTarget_ResTarget(resName, allLangResName, lang):
+ * on gb_ResTarget_get_target(resName), set:
+ * RESLOCATION = allLangResName
+ * LIBRARY = allLangResName
+ * LANGUAGE = lang
+ * add dependencies and deliverables
+ *
+ * def gb_ResTarget_add_file(resName, filename):
+ * gb_ResTarget_get_target(resName) depends on filename
+ *
+ * def gb_ResTarget_add_one_srs(resName, srsName):
+ * gb_ResTarget_add_file(resName, gb_SrsTarget_get_target(srsName))
+ *
+ * def gb_ResTarget_set_reslocation(resName, location):
+ * on gb_ResTarget_get_target(resName), set RESLOCATION=location
+ *
+ * def gb_ResTarget_set_imagelocation(resName, location):
+ * on gb_ResTarget_get_target(resName), set IMAGELOCATIONS=location
+ *
+ * A SUPER LONG COMPLEX RULE TO GENERATE ANY gb_ResTarget_get_target()
+ * FROM ITS DEPENDENCIES USING rsc
+ *
+ * =============================
+ * 3. SrsTarget
+ * =============================
+ *
+ *
+ * def gb_SrsTarget_get_target(srsName):
+ * return $(WORKDIR)/SrsTarget/$(srsName).srs
+ *
+ * gb_SrsTarget_DEFAULTDEFS = gb_GLOBALDEFS
+ *
+ * def gb_SrsTarget_SrsTarget(srsName):
+ * on gb_SrsTarget_get_target(srsName), set:
+ * DEFS = $(gb_SrsTarget_DEFAULTDEFS)
+ * INCLUDE = $(SOLARINC)
+ * PARTS =
+ * some dependencies
+ *
+ * def gb_SrsTarget_set_include(srsName, includes):
+ * on gb_SrsTarget_get_target(srsName) set INCLUDE = includes
+ *
+ * def gb_SrsTarget_add_file(srsName, file):
+ * gb_SrsPartTarget_SrsPartTarget(file)
+ * on gb_SrsPartTarget_get_target(file), add file to PARTS, make us depend on it
+ * dependencies
+ *
+ * # UNUSED
+ * # def gb_SrsTarget_set_defs
+ *
+ * RULE to generate gb_SrsTarget_get_target():
+ * cat together dependencies (file contents) into target file
+ *
+ * ====================================
+ * 2. SrsPartTarget
+ * ====================================
+ *
+ * def gb_SrsPartTarget_get_target(srsPartName):
+ * return $(WORKDIR)/SrsPartTarget/$(srsPartName)
+ *
+ * def gb_SrsPartTarget_SrsPartTarget(srsPartName):
+ * if $(gb_WITH_LANG) is empty:
+ * on gb_SrsPartTarget_get_target(srsPartName), set MERGEDFILE=
+ * else:
+ * on gb_SrsPartTarget_get_target(srsPartName), set:
+ * MERGEDFILE = gb_SrsPartMergeTarget_get_target(srsPartName)
+ * depend on gb_SrsPartMergeTarget_get_target(srsPartName)
+ * on gb_SrsPartMergeTarget_get_target(srsPartName):
+ * set SDF = $(realpath $(gb_SrsPartMergeTarget_SDFLOCATION)/$(dir $(1))localize.sdf)
+ * make gb_SrsPartMergeTarget_get_target(srsPartName) depend on that location
+ *
+ * RULE to generate gb_SrsPartTarget_get_target() from dependencies or MERGEFILE
+ * which doesn't make sense as dependencies aren't added when MERGEFILE is unset
+ * Perhaps gb_Helper_MISCDUMMY comes into play.
+ * Unless $(eval $(call gb_SrsPartTarget__rules,$(repo))
+ * $$(call gb_SrsPartTarget_get_target,%) : $(1)/% $$(gb_Helper_MISCDUMMY) | $$(gb_SrsPartTarget_RSCTARGET)
+ * So it depends on everything in repo?
+ *
+ * =====================
+ * 1. SrsPartMergeTarget
+ * =====================
+ *
+ * gb_SrsPartMergeTarget_get_target = $(WORKDIR)/SrsPartMergeTarget/$(1)
+ * gb_SrsPartMergeTarget_SDFLOCATION := $(LOCDIR)/l10n/$(INPATH)/misc/sdf
+ *
+ * runs rules on each repo
+ *
+ * def gb_SrsPartMergeTarget__rules():
+ * if SDF is set:
+ * gb_SrsPartMergeTarget__command()
+ * else:
+ * copy sources to target
+ *
+ * def gb_SrsPartMergeTarget__command():
+ * calls gb_SrsPartMergeTarget_TRANSEXCOMMAND on various args
+ *
+ *
+ *
+ *
+ *
+ * NOTE: SCons' CPPSUFFIXES could scan .src files for dependencies
+ */
public class AllLangResTarget extends BaseTarget {
private File filename;
private String name;