No errors upon build

This commit is contained in:
elisa-lj11 2016-07-06 16:43:23 -07:00
parent 212e4f9cca
commit 9833ba1987
5 changed files with 52 additions and 23 deletions

View file

@ -14,8 +14,8 @@ endif ()
ExternalProject_Add(
${EXTERNAL_NAME}
URL http://s3-us-west-1.amazonaws.com/hifi-production/dependencies/quazip-0.6.2.zip
URL_MD5 514851970f1a14d815bdc3ad6267af4d
URL https://s3-us-west-1.amazonaws.com/hifi-production/dependencies/quazip-0.7.2.zip
URL_MD5 2955176048a31262c09259ca8d309d19
BINARY_DIR ${EXTERNAL_PROJECT_PREFIX}/build
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${QT_CMAKE_PREFIX_PATH} -DCMAKE_INSTALL_NAME_DIR:PATH=<INSTALL_DIR>/lib -DZLIB_ROOT=${ZLIB_ROOT}
LOG_DOWNLOAD 1
@ -37,11 +37,11 @@ set(${EXTERNAL_NAME_UPPER}_INCLUDE_DIRS ${${EXTERNAL_NAME_UPPER}_INCLUDE_DIR} CA
set(${EXTERNAL_NAME_UPPER}_DLL_PATH ${INSTALL_DIR}/lib CACHE FILEPATH "Location of QuaZip DLL")
if (APPLE)
set(${EXTERNAL_NAME_UPPER}_LIBRARY_RELEASE ${INSTALL_DIR}/lib/libquazip.1.0.0.dylib CACHE FILEPATH "Location of QuaZip release library")
set(${EXTERNAL_NAME_UPPER}_LIBRARY_RELEASE ${INSTALL_DIR}/lib/libquazip5d.1.0.0.dylib CACHE FILEPATH "Location of QuaZip release library")
elseif (WIN32)
set(${EXTERNAL_NAME_UPPER}_LIBRARY_RELEASE ${INSTALL_DIR}/lib/quazip.lib CACHE FILEPATH "Location of QuaZip release library")
set(${EXTERNAL_NAME_UPPER}_LIBRARY_RELEASE ${INSTALL_DIR}/lib/quazip5d.lib CACHE FILEPATH "Location of QuaZip release library")
else ()
set(${EXTERNAL_NAME_UPPER}_LIBRARY_RELEASE ${INSTALL_DIR}/lib/libquazip.so CACHE FILEPATH "Location of QuaZip release library")
set(${EXTERNAL_NAME_UPPER}_LIBRARY_RELEASE ${INSTALL_DIR}/lib/libquazip5d.so CACHE FILEPATH "Location of QuaZip release library")
endif ()
include(SelectLibraryConfigurations)

View file

@ -8,4 +8,8 @@ find_package(QuaZip REQUIRED)
target_include_directories(${TARGET_NAME} SYSTEM PUBLIC ${QUAZIP_INCLUDE_DIRS})
target_link_libraries(${TARGET_NAME} ${QUAZIP_LIBRARIES})
if (WIN32)
add_paths_to_fixup_libs(${QUAZIP_DLL_PATH})
endif ()
link_hifi_libraries(shared networking octree gpu ui procedural model model-networking recording avatars fbx entities controllers animation audio physics)

View file

@ -1,6 +1,6 @@
//
// FileScriptingInterface.cpp
// interface/src/scripting
// libraries/script-engine/src
//
// Created by Elisa Lupin-Jimenez on 6/28/16.
// Copyright 2016 High Fidelity, Inc.
@ -10,15 +10,18 @@
//
#include <QTemporaryDir>
#include <QDir>
#include <QFile>
#include <QDebug>
#include <QBuffer>
#include <QTextCodec>
#include <QIODevice>
#include <QUrl>
#include <QByteArray>
#include <QString>
#include <QFileInfo>
#include <quazip/quazip.h>
#include <quazip/JlCompress.h>
#include <quazip5/quazip.h>
#include <quazip5/JlCompress.h>
#include "ResourceManager.h"
#include "FileScriptingInterface.h"
@ -28,27 +31,43 @@ FileScriptingInterface::FileScriptingInterface(QObject* parent) : QObject(parent
// nothing for now
}
void FileScriptingInterface::downloadZip() {
QUrl url(*parent);
void FileScriptingInterface::runUnzip(QString path, QString importURL) {
downloadZip(path, importURL);
}
QString FileScriptingInterface::getTempDir() {
QTemporaryDir dir;
dir.setAutoRemove(false);
return dir.path();
// remember I must do something to delete this temp dir later
}
void FileScriptingInterface::downloadZip(QString path, const QString link) {
QUrl url = QUrl(link);
auto request = ResourceManager::createResourceRequest(nullptr, url);
connect(request, &ResourceRequest::finished, this, &FileScriptingInterface::unzipFile);
connect(request, &ResourceRequest::finished, this, [this, path]{
unzipFile(path);
});
request->send();
}
// clement's help :D
void FileScriptingInterface::unzipFile() {
void FileScriptingInterface::unzipFile(QString path) {
ResourceRequest* request = qobject_cast<ResourceRequest*>(sender());
QUrl url = request->getUrl();
if (request->getResult() == ResourceRequest::Success) {
qDebug() << "Zip file was downloaded";
QTemporaryDir dir;
QDir dir(path);
QByteArray compressedFileContent = request->getData(); // <-- Downloaded file is in here
QBuffer buffer(&compressedFileContent);
buffer.open(QIODevice::ReadOnly);
//QString zipFileName = QFile::decodeName(compressedFileContent);
QString dirName = dir.path();
JlCompress::extractDir(buffer, dirName);
qDebug() << "Zip directory is stored at: " + dirName;
JlCompress::extractDir(&buffer, dirName);
QFileInfoList files = dir.entryInfoList();
foreach (QFileInfo file, files) {
@ -67,7 +86,7 @@ void FileScriptingInterface::unzipFile() {
}*/
//QString zipFileName = QFile::decodeName(&compressedFileContent);
//QFile file =
//need to convert this byte array to a file
@ -100,10 +119,10 @@ void FileScriptingInterface::recursiveFileScan(QFileInfo file, QString* dirName)
QFileInfoList files;
if (file.fileName().contains(".zip")) {
JlCompress::extractDir(file);
JlCompress::extractDir(file.fileName());
qDebug() << "Extracting archive: " + file.fileName();
}
files = file.entryInfoList();
files = file.dir().entryInfoList();
/*if (files.empty()) {
files = JlCompress::getFileList(file.fileName());
@ -111,7 +130,7 @@ void FileScriptingInterface::recursiveFileScan(QFileInfo file, QString* dirName)
foreach (QFileInfo file, files) {
qDebug() << "Looking into file: " + file.fileName();
recursiveFileScan(file, &dirName);
recursiveFileScan(file, dirName);
}
return;
}

View file

@ -1,6 +1,6 @@
//
// FileScriptingInterface.h
// interface/src/scripting
// libraries/script-engine/src
//
// Created by Elisa Lupin-Jimenez on 6/28/16.
// Copyright 2016 High Fidelity, Inc.
@ -14,23 +14,26 @@
#include <QtCore/QObject>
#include <QFileInfo>
#include <QString>
class FileScriptingInterface : public QObject {
Q_OBJECT
public:
FileScriptingInterface(QObject* parent);
void runUnzip(QString path, QString importURL);
QString getTempDir();
public slots:
void unzipFile();
void unzipFile(QString path);
signals:
void downloadZip();
private:
//void downloadZip();
//void unzipFile();
void recursiveFileScan(QFileInfo file, QString* dirName);
void downloadZip(QString path, const QString link);
};

View file

@ -1208,10 +1208,13 @@ Window.svoImportRequested.connect(importSVO);
// attempt to start ZIP download project
function importZIP(importURL) {
print("Import ZIP requested: " + importURL);
if (!Entities.canAdjustLocks()) {
/*if (!Entities.canAdjustLocks()) {
Window.alert(INSUFFICIENT_PERMISSIONS_IMPORT_ERROR_MSG);
return;
}
}*/
var path = File.getTempDir();
print("Temporary path to zip: " + path);
File.runUnzip(path, importURL);
}