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( ExternalProject_Add(
${EXTERNAL_NAME} ${EXTERNAL_NAME}
URL http://s3-us-west-1.amazonaws.com/hifi-production/dependencies/quazip-0.6.2.zip URL https://s3-us-west-1.amazonaws.com/hifi-production/dependencies/quazip-0.7.2.zip
URL_MD5 514851970f1a14d815bdc3ad6267af4d URL_MD5 2955176048a31262c09259ca8d309d19
BINARY_DIR ${EXTERNAL_PROJECT_PREFIX}/build 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} 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 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") set(${EXTERNAL_NAME_UPPER}_DLL_PATH ${INSTALL_DIR}/lib CACHE FILEPATH "Location of QuaZip DLL")
if (APPLE) 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) 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 () 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 () endif ()
include(SelectLibraryConfigurations) include(SelectLibraryConfigurations)

View file

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

View file

@ -1,6 +1,6 @@
// //
// FileScriptingInterface.h // FileScriptingInterface.h
// interface/src/scripting // libraries/script-engine/src
// //
// Created by Elisa Lupin-Jimenez on 6/28/16. // Created by Elisa Lupin-Jimenez on 6/28/16.
// Copyright 2016 High Fidelity, Inc. // Copyright 2016 High Fidelity, Inc.
@ -14,23 +14,26 @@
#include <QtCore/QObject> #include <QtCore/QObject>
#include <QFileInfo> #include <QFileInfo>
#include <QString>
class FileScriptingInterface : public QObject { class FileScriptingInterface : public QObject {
Q_OBJECT Q_OBJECT
public: public:
FileScriptingInterface(QObject* parent); FileScriptingInterface(QObject* parent);
void runUnzip(QString path, QString importURL);
QString getTempDir();
public slots: public slots:
void unzipFile(); void unzipFile(QString path);
signals: signals:
void downloadZip();
private: private:
//void downloadZip(); //void downloadZip();
//void unzipFile(); //void unzipFile();
void recursiveFileScan(QFileInfo file, QString* dirName); 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 // attempt to start ZIP download project
function importZIP(importURL) { function importZIP(importURL) {
print("Import ZIP requested: " + importURL); print("Import ZIP requested: " + importURL);
if (!Entities.canAdjustLocks()) { /*if (!Entities.canAdjustLocks()) {
Window.alert(INSUFFICIENT_PERMISSIONS_IMPORT_ERROR_MSG); Window.alert(INSUFFICIENT_PERMISSIONS_IMPORT_ERROR_MSG);
return; return;
} }*/
var path = File.getTempDir();
print("Temporary path to zip: " + path);
File.runUnzip(path, importURL);
} }