mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
Removed Subversion support (issue #63).
This commit is contained in:
@@ -13,7 +13,7 @@ BOSS is intended to make using mods easier, and mod users should still possess a
|
||||
|
||||
## Downloading BOSS
|
||||
|
||||
At the moment, BOSSv3 is in alpha testing, and so is not recommended for use unless for testing purposes. The load orders it produces should not be used in-game unless found to be valid by manual checking beforehand. Any releases can be found by clicking on the releases button above the coloured bar on the repository homepage.
|
||||
At the moment, BOSSv3 is in beta testing, and so is not recommended for use unless for testing purposes. The load orders it produces should not be used in-game unless found to be valid by manual checking beforehand. Any releases can be found by clicking on the releases button above the coloured bar on the repository homepage.
|
||||
|
||||
|
||||
## About This Repository
|
||||
@@ -40,32 +40,10 @@ BOSS requires the following libraries:
|
||||
|
||||
BOSS expects all libraries' folders to be present alongside the BOSS repository folder that contains this readme, or otherwise installed such that the compiler and linker used can find them without suppling additional paths. All paths below are relative to the folder(s) containing the libraries and BOSS.
|
||||
|
||||
BOSS can also make use of [GraphVis](http://www.graphviz.org/Download_windows.php) and [Subversion](http://sourceforge.net/projects/win32svn) binaries. If provided, they should be installed as detailed below.
|
||||
BOSS can also make use of [GraphVis](http://www.graphviz.org/Download_windows.php) binaries. If provided, they should be installed as detailed below.
|
||||
|
||||
Alphanum, Libespm and PugiXML do not require any additional setup. The rest of the libraries must be built separately.
|
||||
|
||||
### Subversion
|
||||
|
||||
Put the following binaries into ```resources/svn/``` in the BOSS repository root.
|
||||
|
||||
* int3_svn.dll
|
||||
* libapr-1.dll
|
||||
* libapriconv-1.dll
|
||||
* libaprutil-1.dll
|
||||
* libdb48.dll
|
||||
* libeay32.dll
|
||||
* libsasl.dll
|
||||
* libsvn_client-1.dll
|
||||
* libsvn_delta-1.dll
|
||||
* libsvn_diff-1.dll
|
||||
* libsvn_fs-1.dll
|
||||
* libsvn_ra-1.dll
|
||||
* libsvn_repos-1.dll
|
||||
* libsvn_subr-1.dll
|
||||
* libsvn_wc-1.dll
|
||||
* ssleay32.dll
|
||||
* svn.exe
|
||||
|
||||
### GraphVis
|
||||
|
||||
Put the following binaries into `resources/graphvis/` in the BOSS repository root, then run `dot.exe -c`.
|
||||
|
||||
@@ -384,7 +384,7 @@ To translate the BOSS application:
|
||||
<li>Zanderat
|
||||
</ul>
|
||||
</ul>
|
||||
<p>BOSS is written in C/C++ and makes use of <a href="https://subversion.apache.org/">Subversion</a> and the <a href="http://www.davekoelle.com/alphanum.html">Alphanum</a>, <a href="http://www.boost.org/">Boost</a>, <a href="http://github.com/WrinklyNinja/libespm">libespm</a>, <a href="http://github.com/libgit2/libgit2">libgit2</a>, <a href="http://github.com/WrinklyNinja/libloadorder">libloadorder</a>, <a href="http://code.google.com/p/pugixml/">PugiXML</a>, <a href="http://www.wxwidgets.org/">wxWidgets</a> and <a href="http://code.google.com/p/yaml-cpp/">yaml-cpp</a> libraries. BOSS's reports are written in XHTML/CSS/Javascript and make use of <a href="http://github.com/inexorabletash/polyfill">Polyfill.js</a> and <a href="https://code.google.com/p/svgweb/">svgweb</a> to provide Internet Explorer 8 compatibility. Copyright license information for all these may be found <a href="licenses/Licenses.txt">here</a>.
|
||||
<p>BOSS is written in C/C++ and makes use of <a href="http://www.graphviz.org/">GraphVis</a> and the <a href="http://www.davekoelle.com/alphanum.html">Alphanum</a>, <a href="http://www.boost.org/">Boost</a>, <a href="http://github.com/WrinklyNinja/libespm">libespm</a>, <a href="http://github.com/libgit2/libgit2">libgit2</a>, <a href="http://github.com/WrinklyNinja/libloadorder">libloadorder</a>, <a href="http://code.google.com/p/pugixml/">PugiXML</a>, <a href="http://www.wxwidgets.org/">wxWidgets</a> and <a href="http://code.google.com/p/yaml-cpp/">yaml-cpp</a> libraries. BOSS's reports are written in XHTML/CSS/Javascript and make use of <a href="http://github.com/inexorabletash/polyfill">Polyfill.js</a> and <a href="https://code.google.com/p/svgweb/">svgweb</a> to provide Internet Explorer 8 compatibility. Copyright license information for all these may be found <a href="licenses/Licenses.txt">here</a>.
|
||||
|
||||
|
||||
<h2 id="project">Project Members</h2>
|
||||
@@ -549,6 +549,6 @@ There are three key pieces of information that are used to accurately describe a
|
||||
<li>BOSS files that are edited are now stored in a folder within %LOCALAPPDATA%.
|
||||
<li>BOSS Log retitled BOSS Report.
|
||||
<li>BOSS Log redesigned.
|
||||
<li>Masterlist updater now uses Subversion.
|
||||
<li>Masterlist updater now uses Git.
|
||||
<li>BOSS now sorts plugins according to their parsed contents, supplemented by metadata supplied by the masterlist and userlist.
|
||||
</ul>
|
||||
|
||||
@@ -176,89 +176,3 @@
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
|
||||
SUBVERSION SUBCOMPONENTS:
|
||||
|
||||
Subversion includes a number of subcomponents with separate copyright
|
||||
notices and license terms. Your use of the source code for the these
|
||||
subcomponents is subject to the terms and conditions of the following
|
||||
licenses.
|
||||
|
||||
For portions of the Python bindings test suite at
|
||||
subversion/bindings/swig/python/tests/trac/:
|
||||
|
||||
I. Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
II. Copyright (C) 2003, 2004, 2005 Edgewall Software
|
||||
Copyright (C) 2003, 2004, 2005 Jonas Borgström <jonas@edgewall.com>
|
||||
Copyright (C) 2005 Christopher Lenz <cmlenz@gmx.de>
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
3. The name of the author may not be used to endorse or promote
|
||||
products derived from this software without specific prior written
|
||||
permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS
|
||||
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||||
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@ BOSS uses a number of libraries, and their licenses are listed in this file.
|
||||
|
||||
BOSS is also distributed with some binaries for the following programs:
|
||||
|
||||
* Subversion - Apache License v2.0; see "Apache License v2.0.txt" for the text.
|
||||
* GraphViz - Eclipse Public License v1.0; the text is not included as allowed by the license.
|
||||
|
||||
Going by what the EPL FAQ page says, simply running the GraphVis binaries through system calls does not make BOSS a "derivative work", and so it is not bound by the EPL, and so it's OK for BOSS to use GraphVis even though the EPL and GPL are incompatible.
|
||||
|
||||
+3
-2
@@ -56,8 +56,9 @@ const unsigned int boss_error_invalid_args = boss::error::invalid_args;
|
||||
const unsigned int boss_error_no_tag_map = boss::error::no_tag_map;
|
||||
const unsigned int boss_error_path_not_found = boss::error::path_not_found;
|
||||
const unsigned int boss_error_no_game_detected = boss::error::no_game_detected;
|
||||
const unsigned int boss_error_subversion_error = boss::error::subversion_error;
|
||||
const unsigned int boss_return_max = boss_error_subversion_error;
|
||||
const unsigned int boss_error_windows_error = boss::error::windows_error;
|
||||
const unsigned int boss_error_sorting_error = boss::error::windows_error;
|
||||
const unsigned int boss_return_max = boss_error_sorting_error;
|
||||
|
||||
// The following are the games identifiers used by the API.
|
||||
const unsigned int boss_game_tes4 = boss::g_game_tes4;
|
||||
|
||||
+2
-6
@@ -123,12 +123,8 @@ BOSS_API extern const unsigned int boss_error_invalid_args; ///< Invalid argume
|
||||
BOSS_API extern const unsigned int boss_error_no_tag_map; ///< No Bash Tag map has been generated yet.
|
||||
BOSS_API extern const unsigned int boss_error_path_not_found; ///< A file or folder path could not be found.
|
||||
BOSS_API extern const unsigned int boss_error_no_game_detected; ///< The given game could not be found.
|
||||
|
||||
/**
|
||||
@brief An error occurred during a Subversion operation.
|
||||
@details This code should never be seen client-side, as the API does not use any Subversion processes, but is provided in the interests of completeness and in case of library bugs returning it.
|
||||
*/
|
||||
BOSS_API extern const unsigned int boss_error_subversion_error;
|
||||
BOSS_API extern const unsigned int boss_error_windows_error; ///< An error occurred during a call to the Windows API.
|
||||
BOSS_API extern const unsigned int boss_error_sorting_error; ///< An error occurred while sorting plugins.
|
||||
|
||||
/**
|
||||
@brief Matches the value of the highest-numbered return code.
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
# build/BOSS.exe
|
||||
# resources/graphvis
|
||||
# resources/svgweb
|
||||
# resources/svn
|
||||
# resources/icon.ico
|
||||
# resources/polyfill.js
|
||||
# resources/script.js
|
||||
@@ -40,7 +39,6 @@ shutil.copy( os.path.join('..', 'build', 'BOSS.exe'), temp_path )
|
||||
|
||||
shutil.copytree( os.path.join('..', 'resources', 'graphvis'), os.path.join(temp_path, 'resources', 'graphvis') )
|
||||
shutil.copytree( os.path.join('..', 'resources', 'svgweb'), os.path.join(temp_path, 'resources', 'svgweb') )
|
||||
shutil.copytree( os.path.join('..', 'resources', 'svn'), os.path.join(temp_path, 'resources', 'svn') )
|
||||
shutil.copy( os.path.join('..', 'resources', 'icon.ico'), os.path.join(temp_path, 'resources') )
|
||||
shutil.copy( os.path.join('..', 'resources', 'polyfill.js'), os.path.join(temp_path, 'resources') )
|
||||
shutil.copy( os.path.join('..', 'resources', 'script.js'), os.path.join(temp_path, 'resources') )
|
||||
|
||||
+2
-2
@@ -37,7 +37,7 @@ namespace boss {
|
||||
unsigned int code() const { return _code; }
|
||||
const char * what() const throw() { return _what.c_str(); }
|
||||
|
||||
|
||||
/* These must not be changed for API stability. */
|
||||
static const unsigned int ok = 0;
|
||||
static const unsigned int liblo_error = 1;
|
||||
static const unsigned int path_write_fail = 2;
|
||||
@@ -49,7 +49,7 @@ namespace boss {
|
||||
static const unsigned int no_tag_map = 8;
|
||||
static const unsigned int path_not_found = 9;
|
||||
static const unsigned int no_game_detected = 10;
|
||||
static const unsigned int subversion_error = 11;
|
||||
//11 was subversion_error, and was removed along with svn support.
|
||||
static const unsigned int git_error = 12;
|
||||
static const unsigned int windows_error = 13;
|
||||
static const unsigned int sorting_error = 14;
|
||||
|
||||
@@ -56,7 +56,6 @@ namespace boss {
|
||||
const boost::filesystem::path g_path_js = boost::filesystem::current_path() / "resources" / "script.js";
|
||||
const boost::filesystem::path g_path_polyfill = boost::filesystem::current_path() / "resources" / "polyfill.js";
|
||||
const boost::filesystem::path g_path_l10n = boost::filesystem::current_path() / "resources" / "l10n";
|
||||
const boost::filesystem::path g_path_svn = boost::filesystem::current_path() / "resources" / "svn" / "svn.exe";
|
||||
const boost::filesystem::path g_path_graphvis = boost::filesystem::current_path() / "resources" / "graphvis" / "dot.exe";
|
||||
const boost::filesystem::path g_path_svgweb = boost::filesystem::current_path() / "resources" / "svgweb" / "svg.js";
|
||||
const boost::filesystem::path g_path_local = GetLocalAppDataPath() / "BOSS";
|
||||
|
||||
@@ -58,7 +58,6 @@ namespace boss {
|
||||
extern const boost::filesystem::path g_path_css;
|
||||
extern const boost::filesystem::path g_path_js;
|
||||
extern const boost::filesystem::path g_path_polyfill;
|
||||
extern const boost::filesystem::path g_path_svn;
|
||||
extern const boost::filesystem::path g_path_log;
|
||||
extern const boost::filesystem::path g_path_l10n;
|
||||
extern const boost::filesystem::path g_path_graphvis;
|
||||
|
||||
+219
-379
File diff suppressed because it is too large
Load Diff
@@ -32,37 +32,6 @@
|
||||
|
||||
namespace boss {
|
||||
|
||||
/* Masterlist updating is carried out using subversion's executables via system() since it's API has too many dependencies to build myself.
|
||||
|
||||
Basic workflow is:
|
||||
|
||||
1. Check if there's a working copy present in the masterlist's directory.
|
||||
2. If not, perform a sparse checkout of the remote folder containing the masterlist, at a folder-only depth.
|
||||
3. SVN update the masterlist to the latest available revision.
|
||||
4. Check whether the masterlist parses without errors.
|
||||
5. If not, revert the masterlist back one revision. Loop back to step 4 until it parses OK.
|
||||
6. Record the revision of the masterlist for display in the BOSS report.
|
||||
|
||||
Also need to record error messages for display in the BOSS report, including any parsing errors encountered in step 4, even if a working masterlist was found.
|
||||
|
||||
```svn info``` on a non-working-copy returns "svn: '.' is not a working copy".
|
||||
|
||||
```svn co --depth empty http://better-oblivion-sorting-software.googlecode.com/svn/data/boss-skyrim/ .```
|
||||
followed by
|
||||
```svn update masterlist.txt```
|
||||
works as desired when in BOSS's Skyrim folder.
|
||||
|
||||
```svn update --revision PREV masterlist.txt```
|
||||
would then roll the masterlist back one revision.
|
||||
|
||||
```svn info masterlist.txt``` returns a bunch of info: the line "Revision: XXXX" contains the revision number.
|
||||
*/
|
||||
|
||||
/* Also looking into adding Git support (issue #29). Git support would involve sparse checkouts of the masterlists into each game folder, with the masterlists sitting in the root of each game's repository online.
|
||||
|
||||
So when using Git, the Game::URL() function would return the path to the repository, and BOSS would expect that the masterlist be in the root directory of the repository, which is not unreasonable.
|
||||
*/
|
||||
|
||||
std::string UpdateMasterlist(Game& game, std::list<Message>& parsingErrors, std::list<Plugin>& plugins, std::list<Message>& messages);
|
||||
}
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -640,7 +640,7 @@ void Launcher::OnSortPlugins(wxCommandEvent& event) {
|
||||
try {
|
||||
system(command.c_str());
|
||||
|
||||
// if (RunCommand(command, output)) //This hangs for graphvis, for some reason. Works for svn though...
|
||||
// if (RunCommand(command, output)) //This hangs for graphvis, for some reason.
|
||||
fs::remove(temp);
|
||||
} catch(boss::error& e) {
|
||||
messages.push_back(boss::Message(boss::g_message_error, (format(loc::translate("Failed to generate graph image. Details: %1%")) % e.what()).str()));
|
||||
|
||||
@@ -269,10 +269,6 @@ FunctionEnd
|
||||
SetOutPath "$INSTDIR\resources\svgweb"
|
||||
File "..\resources\svgweb\*"
|
||||
|
||||
;Install svn files.
|
||||
SetOutPath "$INSTDIR\resources\svn"
|
||||
File "..\resources\svn\*"
|
||||
|
||||
;Install resource files.
|
||||
SetOutPath "$INSTDIR\resources"
|
||||
File "..\resources\icon.ico"
|
||||
@@ -392,9 +388,6 @@ FunctionEnd
|
||||
Delete "$INSTDIR\resources\script.js"
|
||||
Delete "$INSTDIR\resources\style.css"
|
||||
|
||||
;Remove SVN files.
|
||||
RMDir /r "$INSTDIR\resources\svn"
|
||||
|
||||
;Remove graphvis files.
|
||||
RMDir /r "$INSTDIR\resources\graphvis"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user